Possible long-term hardware design fixes:
* Real-time-clock circuitry with two counters: one that can be set by the user, and one that can't. The can't-be-user-set counter could return the age of the real-time-clock circuit itself, or TA1, or anything else--as long as differences in readings could reliably be used to measure elapsed time.
* Real-time-clock circuitry that still has only one counter, where the single counter cannot be set by the user. In this case, it would need to be something such as TA1, set at manufacture (or, less likely, age-of-the-circuit-itself along with a stored value of what TA1 was at circuit birth).
And a software approach: compute elapsed time by using values obtained from GPS rather than values obtained from internal hardware. Inapplicable when GPS is unavailable; introduces faulty GPS reception as a source of error in elapsed time computation.