Even if a new protocol was created which fixed this, the necessary design change would bring so much baggage that it would become Matrix. To solve the unstable endpoint problem, servers need to store messages until all endpoints retrieve them (which is never, for channels of non-trivial size, since at least one client isn't coming back) or time out (how long do you set that? a week? If you're holding all messages permanently, you might as well never time out clients).
The obvious storage design will hold each channel's messages once, not once per client connection buffer. Which means a lot of things: you might as well send it to new clients when they join; each message will have an ID so you might as well support replies and emoji reactions; you have to moderate it for illegal content; since messages have IDs, you might as well retract moderated messages on clients. At the end of the design process, what you have is nothing like IRC any more.