

I recommend Matrix with the Conduit server. This server requires almost no resources and even runs on a Raspberry Pi.
Cinny works perfectly as a desktop client (in case you want to escape from the ubiquitous Element). And for mobile I would use Element for Android/iOS although FluffyChat also works very well.
IMHO, if the protocol specifications seem like pedantry to you the best thing to do is either drop it or design your own protocol. But if in the end what you do is to release a product that is only half-compliant, the rest of the community will turn their backs on you because, by not complying with the standard, you can produce all kinds of unexpected situations.