EEPROM wear levelling

So, this writing routine continually cleans up after itself. The way I see it, it has the advantage of never needing the big cleanup from time to time, when the memory is filled up. On the other hand a long snake of old values, with the newest value at the head and the head identified as a stopping "available" marker in front of it will only take one writing instead of two for each saving operation, but then, it will pay the bill when the memory is full. In the long run, it seems like the number of writes will even up in both cases.