If both LDR parts are the same model, then I agree with @Drew that the other unit may be defective. Otherwise, of both units are not the same model (which is my guess here) then this could explain the different readings since LDRs come in a variety of resistance ranges. If you have an old analog resistance meter, then that could be used to test the units. Watching the needle move as you shine more light on it is a great test.
Understanding the nominal LDR resistance for the light conditions you want to operate it is important. The expected operating range of the LDR resistance can vary by quite a lot (such as 50k for cloudy down to 0.1k for direct sun, but that depends on your unit) so experiment with different divider resistor values for the best performance. Ideally, you don't want the reading to saturate for the brightest condition since that is what you are searching, so find the divider resistor that tops out the reading around 4.8V for direct sun. Finding the right divider resistor will depend on the LDR you have on-hand.
As Marcantonio suggested, just average over several readings to remove noise. The LDR that gives you 50-59 is not bad, only 50mV noise. A software average should take care of this.
Also, you can expect reading 0 when covered by hand, since the LDR has a very high dark resistance (generally > 1M ohm), and your circuit is using a low divider resistor value (appears to be 1K ohm). Doing the math, Vain = 5V * 1k / (1k + 1M) = 5mV. This is on the order of 1 LSB for the 10-bit Arduino ADC (5V/1024 = 5mV), so reading 0 is close. So yes, the LDR is reading light assuming your hand isn't creating a completely dark environment, but your ADC circuit cannot read down to this small value. Using an amplifier would help, but then again your application is only to track to the brightest, not dim conditions.