1- Make a snapshot of every balance at a specific block number in the old chain (including every mosaic with the correct timestamp) and start the new catapult chain with these nemesis balances at block height 0.
Any funds currently held on NIS multi-signature accounts would then be mirror to simple accounts, putting funds at risk (some multisig private keys are surely lost due to the characteristics of NIS multisig).
2- In the new catapult nodes, keep the whole pre-catapult chain available, where node owners can turn the loading of the old chain on or off in a setting.
One part here is not feasible as blocks in NIS are not compatible with blocks in Catapult, also we are starting with a new nemesis. It is not a fork like there is with Bitcoin and therefore NIS history cannot be prepended to Catapult blocks.
Another part here sounds somewhat feasible where having a Catapult plugin available to allow data queries in NIS-style (smooth upgrade plugin) is totally feasible but adds on development.
3- Make sure this update is mandatory for supernodes a while before the actual snapshot so the whole network updates before catapult goes live, +90% of supernodes upgrade because of the rewards
I would like to point at 2 points here: 1) supernodes are a subset of NEM nodes, they are not “the network”. 2) supernodes do not affect consensus more than other nodes. The fact that supernodes find consensus on a topic is likely to affect the network (because they control many funds) but the migration should not be done as such that supernodes get super powers.