Best method to upgrade multisite plugin’s numerous database table

You could just add a check for is_admin() and current_user_can("update_plugins") to make sure you’re running only for admin users that are currently in wp-admin. Any user browsing the front end won’t notice anything, logged in or not.

You will probably also want to make sure that this runs only once to avoid race conditions that would produce database errors e.g. running the same ALTER TABLE add ... twice.