Weird behaviour of arduino 101 with ACS712 current sensor.

When there is no current to be detected ACS712 should have voltage of 2.5V(~Vcc/2) on the output pin.
Sensor is working fine. I have verified this using a multimeter.
But when I connect the sensor to Arduino 101 I get a reading of 7xx (~3.8V). And the sensor value fluctuates wildly.
When I connect this sensor to arduino Mega however, the reading is more accurate. I get ~2.5V. There's still some fluctuations. By taking average of 20 readings the fluctuations are significantly reduced.

Why is the readings on 101 so different from the actual value? How can I fix this?