Time for two"times" ;-)
Strikes me the solution is pretty obvious - we need two "times" and one "interval" (the second):
a) a 'scientific' time that is rigorously defined and that increments at the standard interval - the second - forever and does not have leap-seconds - lets call this "epoc time", and
b) a 'practical' time that is is aligned to the scientific standard, i.e. it uses the same interval (the second) but is adjusted via a local "offset" which provides the local time that we see - the yakns call this "wall clock time".
Leap-seconds are applied to "wall clock time" via the local offset as required to keep the time right (within 0.9 seconds) such that sunrise and sunset work and people watches work.
Important systems such as international telecommunications, computer networks, scientific experiments use "epoc time" and simple humans use "wall clock time".
GPS already does this with its difference between GPS time (1st Jan 1986) and UTC with its "UTC offset". We can reuse this idea - all we need to do is to take the existing unix time_t epoc time, extend it to 64-bits (UINT64) and synchronise it to the 300+ atomic clocks in the world and call this the international standard.
The trick here is to have one internal standard that just keeps counting without interruption and a local representation with is adjusted on use/on display, i.e. on output, without resorting to changing the underlying master source.
unix does it already... can't be hard...
Mike