There are some channels that require you to be registered before allowing you to join. The auto-join feature attempts to join immediately upon connecting, causing many channels to deny the join attempt.
Something like a retry after x seconds if the join fails would be perfect.
FYI, this was answered in one of the other issues about this, but maybe too tersely to be clear.
If your client supports SASL authentication and you use it, it will identify you to NickServ before the autojoins happen. Works for me on Freenode.
yes but it appears as if the SASL username is always assumed to be your nickname which is not always the case. It would be cool if a custom username could be provided, or if the 'username' field was used for this.