> I found that in practice it doesn't work
May I suggest you give it another try? It has been steadily working for me for a few years now. (Conversations/gajim/dino/siskin-im/beagle for the clients, and prosody server side)
> because their server hasn't enabled the necessary XEPs
Changing to a server that does is not a big deal, since most (all?) XMPP clients allow multiaccounting.
> it's a super fragmented experience
What you call fragmentation I would call diversity, and I think it is a good thing.
> Most users do not (and should not need to) know the technical details
I agree that a certain level of abstraction is necessary to use complicated stuff. However, I think not having the slightest idea of things work is a problem, and leads to alienation.