It only support public channels at the moment, but we're planning to add user/user communication too.
If something 'modern' is required, Matrix protocol and its ecosystem is a contender. Also look into the world of ActivityPub federated applications, which cover everything from replacing Twitter to blogging.
My personal setup is to use bitlbee or libpurple to connect to every major chat network that exists today, bridged to my irc client via znc. This provides a consistent presence, status, and ui across desktop/mobile, push notifications, filtering, and behavior under my control, all with chat client that doesn't take up 1GB+ of memory with phone-home telemetry and useless emoji
(Unless the matrix IRC bridge connects to the IRC server with a server-to-server type connection and can thus address messages from/to virtual users on the IRC protocol level. But that would need a lot of coordination and authorizations from IRC server administrators, which brings in so much friction that it probably kills the idea.)
edit: it seems possible that the matrix irc bridge will make a new client irc connection per bridged user, which sounds like a better idea. hard to make out from the docs though.
I guess the best thing for the current situatio would be a headless service that would connect to your IM identities, and buffer messages, from many different IM identities and protocols. You would then have intermittedly connected web or terminal or mobile apps as its clients. Does something like this exist?