The web is a mess. Where's the news in that? Code once and run in all platforms is pretty much a myth no matter the framework you use, including the web ecosystem. I've lost count of how many times I wished we could run in the browser a decent language like python or ruby. Or describe the data of documents in something more meaningful like JSON instead of HTML. And then there's the DOM, CCSS, and all the browser spec…
I'm confused about the JSON > HTML part of your comment. Independent of which one is better overall, wouldn't HTML be more meaningful than JSON because it has semantics attached to tags?
We make use of a jQuery in our app, and I was quite happy to see that although I develop in Chrome and Linux, the UI worked pretty much flawlessly on Firefox and Opera on Linux, and IE8 (and methinks 7, but can't remember) on Windows.
We may be lucky in that we can ignore IE6 and earlier Firefox and Chrome, but my point is that something like jQuery does a damn fine job of abstracting away browser differences. May not be perfect, but better than we can afford to do.
I say this because we probably all aware that we're stuck with JS in the browser for a while...