I concede defeat. There is no hope of resurrecting the abbreviation 12 M for noon nor (which is more puzzling) of substituting the word noon. Logically and historically 12 PM is the hour 12 after midday; in other words, midnight. Of course 12 AM would represent the hour 12 before midday which is also midnight and so the popular confusion among those illiterate in Latin is not inexplicable.
Their response has been to designate noon as after noon.
Much of the shift arises, I believe, from a school-child insistence on regularity. The rule for writing time is a number ranging from 1 through 12, with a colon and a 2-digit number optionally following, and the abbreviation AM or PM. (Case and punctuation are flexible.) Perfectly legitimate representations of time such as 1305, 12 M, and 10:05:02 cause excessive consternation for failing to follow this oversimplified rule. Those alternatives are acceptable only in very specific contexts, such as while actively serving in the military or if writing for classical scholars or when timing a horse race.
Within that understanding, noon would have to be written as either 12:00 AM or 12:00 PM and the latter has won out. Better an oxymoron than a deviation, according to the common sense of things.
There is some logic behind the common practice. As soon as you have passed the moment of noon it is, tautalogically, after noon. Thus 12:01 is correctly 12:01 PM and even I admit it would be peculiar to designate the minutes as 11:59 AM, 12:00 AM, and then 12:01 PM. The difference is that I think the solution of 12:00 PM is also peculiar while most people seem to think otherwise.
No longer is this custom the province only of school secretaries and billboard advertisers, whose ignorance might be excused and ignored. Mainstream news and the US National Weather Service have similarly abandoned the original meaning of AM and PM, forgetting etymology in order to conform with popular culture.
I must remind myself that language changes, though it is inevitably peculiar as it does so. Those designators, AM and PM, are no longer the Latin abbreviations they once were. Now they are English tokens -- not exactly words, perhaps, but providing specific meanings in accepted English usage distinct from their former use as pointers to ancient Latin phrases. As elements of the modern English language, they may carry whatever meaning modern English speakers assign to them.
So I concede defeat. The English speakers have spoken and they have said that in English usage 12:00 PM is the minute before 12:01 PM. I myself will call it noon.