Lectura inestable en las entradas analogicas Arduino Mega 2560

Bienvenido al mundo real, eso quiere decir que siempre te encontrarás con situaciones de este tipo.
La forma mas rápida de acomodar las cosas es leer muchas lecturas sucesivas y luego promediarlas.
Eso trae como consecuencia una demora en la presentación de los datos pero supon que los muestras cada 1 segundos, entonces tienes 1 segundo para leer la mayor cantidad de datos del sensor y promediarlos y luego presentarlos.

Usa una variable unsigned int y acumula todos los datos leidos y lleva un contador de muestras.
Al final divides el resultado del acumulado por el contador y tienes el promedio y lo escalas, o sea lo multiplas por 5 y divides por 1023 para tener el valor en voltios.

Tendras una lectura mucho mas estable.

podria ser mas o menos asi

// rutina promediacion 

unsigned long sumaADC = 0;
unsigned long start;
unsigned int contador;

void setup() {
	Serial.begin(9600);
   start = millis();
   contador = 0;
}

void loop() {

	sumaADC += analogRead(A0);  // modifica A0 para que coincida con el pin Analogico que estes usando
    contador++;

	if (millis()-start > 1000UL){  // 1000 milisegundos = 1seg
		float promedio = (float) (sumaADC/contador)* 5.0/1023.0;
		Serial.print("AD = ");
		Serial.println(promedio);
		sumaADC = 0;
		contador = 0;
		start = millis(); // preparo para proxima presentación
	}
}