What I'd go for would be to choose an epoch (such as the Unix epoch, though it doesn't have to be that), and, in scientific usage and other usage requiring precise times, simply use a count of seconds from that epoch as your universal time, with conversions of second counts to dates being simply a matter of human convenience for non-precision usage. Precision timekeeping should not need to be tied to any measure of time that can't be strictly defined as a number of seconds (for traditional measurements of time, this goes up to the hour, but nothing longer, as the value of the day, month, and year can shift (and the month has about fifty separate definitions to begin with), and I'm not aware of any traditional measurement of time on the scale of the day or longer that's not based on one of those three). And while time can be precisely measured in minutes and hours, it would be nice to do away with even these for scientific usage, in favor of power of ten multiples of the second (kilosecond, megasecond, etc, for consistency with metric), and/or power of two multiples of the second (for convenience with computers).
For everyday usage, we'd go on with pretty much the current system, with the understanding that it's precision is limited to within a second or two per year.
An example system would be to take the Unix epoch and add in the leap seconds accrued since the leap second was introduced in 1972 (Unix time as it currently exists keeps a count of the seconds from 0:00 UTC 1/1/1970, but does not count leap seconds, so it's 24 seconds off from the actual number of seconds since 0:00 UTC 1/1/1970). You would then have PUTC (Precision UTC), given as a second count from 0:00 UTC 1/1/1970, and NPUTC (Non-Precision UTC), given as a traditional date according to conversion tables. So 1320489148 PUTC (1320489124 by Unix time without leap seconds) would correspond to 10:32 NPUTC, Saturday, November 5th 2011.