UPDATE: If you want to try an experimental, potentially easier, potentially safer method, see here:
I promised to create this thread a while ago and never got around to it. With the JB update just around the corner and currently NO KNOWN ROOT EXPLOIT FOR IT, I figure this is a good time for people to prepare.
WARNING: You can NOT fxz to 246 once you take the jb update. You will brick if you try. Only a trip to the House will fix you then and you'll lose root in the process.
Stuff needed:
Process for protecting root:
o) Ensure your su binary is up to date. This varies depending on which su implementation you're using. Open your SuperUser app (SuperUser, SuperSU, etc) and use the update process built into the SuperUser app. If you need help on this part, just ask.
-For chainfire's Superuser, open the Superuser app, slide over to the info tab, then select the "tap for updates" section. Update as needed.
-For SuperSU just open the SuperSU app and it'll auto-check.
-For Koush's Superuser app, just open the Superuser app and it'll auto-check,
o) Once your su binary is updated, open Voodoo OTA Rootkeeper. It should detect that root is installed. There is an option to protect root. Use that.
o) When it's time to perform the update, you can use Voodoo OTA Rootkeeper to temp unroot. This isn't strictly necessary but is a safer approach to taking the update in some people's view.
Restoring root:
o) After the update is installed, open Voodoo OTA Rootkeeper. There an option to restore root as long as you used the protect root function before the update. Use that to restore root.
NOTES (PLEASE read carefully):
o) This will NOT protect root if you have to flash the system image. What I mean by this is if you have to FXZ for any reason once you're on JB, you will lose root and Voodoo OTA Rootkeeper will NOT be able to restore it.
o) As always, if you have SafeStrap or BootStrap recovery installed, this must be removed prior to taking the OTA update. If you need help with this process, just ask.
o) WARNING: Some have reported that Koush's su binary won't restore properly for some reason. I know nothing about what's going on there so use caution if you're using that superuser solution.