So the relevant part:
So, the only method that will work for now, that is language-independent, seems to be:
1) After the MOTD is received, check incoming notices from "nickserv".
2) Ignore the notices if they contain "/msg" or "/nickserv".
3) Otherwise, assume it is a notice indicating success or failure of nickname identification, so trigger perform.
4) If no such notice is received after 60 seconds, trigger perform.
However, this will fail if an ircd changes the text in notices eg. there is no reason why a server could not say "visit this website" or "join this channel" to learn how to register/identify your nickname, instead of specifying /msg or /nickserv. This will also fail if nickserv sends any other notices eg. it could send notices informing users of other features or recent developments.
This change will be in the next beta.
The arbitrary choice of ignoring some notices and not the others is causing it to fail, and people are being very luckly if it's currently working for them.
I do not have a magic solution, I do agree the server side is to blame.
If you absolutely want to be language-independent and don't want to use +r because some network don't support it, wouldn't it be possible to suggest something to add into IRCv3 to cater for this problem? Like sending a specific raw as you mentioned or similar.