Damn, let's ditch all the XML protocols then, XHTML first :D
What does "age of JSON" means exactly? Those are two different technologies for different purposes.
Even if XMPP tried to move to JSON, how can you do namespaces in JSON for example?
You want ActivityPub in XMPP ? Just take Pubsub and put Atom in it, those are two stable and proven technologies, they fits perfectly (it's just one namespace in another) and with many many benefits.
Here is a news feed built on top of XMPP Pubsub https://nl.movim.eu/?node/pubsub.movim.eu/Movim, and yes there's also an Atom 1.0 feed generated from it, because it's easy to just extract the (validated) Atom content from Pubsub and put it back to a proper HTTP page.