First and foremost, IRC is a protocol. Everything you name here are mostly issues that are not a protocol problem, but client and service issues which can be solved.
What a uselessly pedantic response.
Are they solved, in practice, in the real world? For users in general? No? Then what's the point of discussing it right now?
But are they solved? In a single combined client.
Otherwise it's not really an alternative. It does not matter if it's technically a protocol. Users don't care about if it's a protocol, IRC clients had over 10 years to catch up.