If you can't name a single protocol that is better at what XMPP does, don't you think "(lets face it) terrible" is a bit of an overstatement? It seems more like a "democracy is the worst system, except for everything else we've tried" scenario.
I mean I can't name something that does what XMPP does is because, well, XMPP does .. like .. everything (or at least tries to). As far as a lightweight protocol is concerned, IRC is much better.
I said IRC semi in jest before because it's very old and there really should be something lightweight that ought to take IRC's place in this web 2.0 world of ours.