I think adding "_" (or a bunch of them) as a suffix would be less obtrusive than random digits.
argv[0]_
argv[0]__
etc.
You generally won't need more than 2, so it's not taking up more characters than the 2 random digits algorithm.
Although personally I prefer the old behaviour where mIRC would pause the connection process and wait for you to pick a new nickname in the status window before moving on. That's the behaviour I'd rather have in that situation; it allows me to figure out exactly why my main and altnick are taken, and it sort of serves as a notice that something is wrong (my mnick and anick should not both be in use)-- but that's just me.