Dass es einzelne Zellen defekt sind, kann passieren. Jedoch konnte ich keine Hinweise finden, dass Zelle 0 per se kaputt ist.

fas EEPROM.put() bzw. EEPROM.get() auch int oder float akzeptieren
Stimmt. Da Arduino C++ ist, kann man die Funktionen natürlich entsprechend überladen.

Ein Dummy Read Write auf den EEPROM ist eine gute Idee.
Ein weiterer Punkt auf den das Datenblatt hinweist, ist dass der EEPROM Inhalt korrumpiert werden kann, wenn man versucht bei zu geringer Versorgungsspannung zu lesen oder zu schreiben. Das ist in diesem Fall aber denke ich auszuschließen. (Nur der Vollständigkeit halber erwähnt)