2. Flash recovery in bootloader with "fastboot flash recovery <filename>.img". I recommend CWM 18.104.22.168 found in this thread - http://forum.xda-developers.com/show...light=recovery
3. Go to recovery, in "mounts and storage" select "mount system" and then flash su-install.zip (EDIT : Mounting system not necessary, the script does it automatically while flashing the zip, but just in case)
4. Fix Permissions and reboot system.
5. Use any root explorer (i recommend ROM Toolbox, free in market) and go to /etc and either rename "installrecovery.sh" to "installrecovery.sh.old" or just delete it (its not needed).
6. There it is - Rooted ICS with a recovery that sticks.
EDIT -- IF, by any chance, after following the above steps, you find that you're stuck without a recovery (android exclamation screen), just flash a recovery via fastboot and you'll be fine. This time the recovery WILL stick. I think its something to do with the su-install.zip. I dont know for sure because I found it off the internet, its not mine.
Also, I did the superuser market update and I DID NOT lose root. I have an I9020T. So others with the same can safely update, imo.
Thanks to ab.grafix for being a part of the team.
IMPORTANT -- The su-install.zip posted previously is NOT mine. I didnt know who made it but just found out. All credit to dzo binary and Chamb'. I just made a guide coz it worked for me and I thought it might help others too.
Tested on I9020T and I9023
Don't forget to click on that thanks button if this helped.
UPDATE -- Superuser was updated by ChainsDD to support ICS 4.0.3. Thank you ChainsDD! Updated zip is now attached.