EEPROM Values Corruption - Only Some times
This can be caused by a faulty (or missing) brownout-reset circuit. When the MCU is operating at invalid Vdd voltage levels it can do just about anything, including going berserk and running random bits of code to write to an external EEPROM. 

I highly recommend using a circuit (internal or not) that is guaranteed to inhibit the MCU's operation at invalid levels and is guaranteed to work down to a voltage at which the EEPROM cannot possibly perform a write (less than 1 volt will usually do it). It should stretch any glitch to long enough that the MCU is guaranteed to reset properly. The word 'guaranteed' is not used lightly- there are some internal MCU BOR circuits that are not guaranteed to work when you work out the tolerances and so on.