Actually, in the US military, it's common to refer to the first hour of the day as zero. As in, "zero hundred thirty hours" for 30 minutes after midnight.
Alternatively we could just switch 12PM and 12AM, but that would mess with midnight == start of the day.
Unfortunately I think I'm doomed to suffer through this inconsistency, since it doesn't seem to bother anyone else.
I guess for me personally the perfect solution would be a 12-hour clock that operates on the same principles as the European 24-hour (which I think is the same as the military clock?). So 00:00 to 11:59, twice per day.
But honestly my whole argument is pretty academic, so I'll probably just put up with the clock starting at 12.