Change main site in multisite install?

Having the naked domain as your first site of a multisite is the ideal and you should work to keep it that way. The good news is that if you’ve already got multisite setup, you can theoretically make as many subdomains as you like. There are also various plugins out there that can clone sites within multisite for you. Why not clone your main site to the staging. subdomain as you suggested, then clone it again to old.sudomain when you’ve finished your coding, and then clone staging back to the naked domain? You could also export the database for each and do a manual search and replace in your IDE.