Hi,
If you need custom <location and/or handlers, modules etc the only place they can be maintained is in web.config, so yes you must update those items on each upgrade, there is no other way. Machinekey must also be maintained in Web.config. The ONLY thing that can go in user.config is <appSettings.
However, you should not touch the globalization section, instead you should force the language in user.config as specified in Forcing a Specific Language. So that is one less thing to remember.
I suggest create a document that lists each item the you do customize on upgrades so that you have a guide to remind you of the needed changes.
Hope that helps,
Joe