Instead of blaming Slack, why not accept that the open protocols indeed suck? IRC does not specify encoding, netsplits are a common issue, file sending sucks, etc. XMPP also has file sending problems, does not play nice with mobile, is fragmented (not every client implements desired extensions), etc.
Why not accept that there are legit technical reasons why existing open protocols are unacceptable?
We should not be blaming Slack so much. If we want to make a difference we must come up with a better open protocol that satisfies all the requirements. And it does not end there: there must also be an open client that normal people actually want to use, and there must be tons of marketing to promote it.
Stop complaining about companies not adopting open protocols and do something. Dominate the world using open protocols, then the walled garden companies will follow. It is not easy, it may even feel wrong, but it is the only way.