I think by a wide margin the biggest problem is that IRC doesn't have any offline features. In a world where people swap devices all the time, it really sucks to have to drop your connection on every device change, and lose any chat that occurred while you were offline and be unreachable while you're offline.
Maybe IRC should have a standard way to send an email to a user wherein the irc client knows the users email but don't reveal the users email. It could also use its intermediary status to filter obvious spam, individual channels/users could also set policy as to who is allowed to mail users for example registered accounts only.
IRCCloud is really neat. Great UI IMHO. However, I must admit I’m too cheap to pay $50 USD/year for something that I use even less than once a month. So I go with irssi+screen instead.