At least I don’t know another at least workable alternative than XMPP. Its less monolithic (extensible) way of organizing things does come with some drawbacks (like at least temporary interoperability problems).
For example, searching for that JSXC problem turns up this post: