In theory, you could do it with a text 'find and replace' in the sqm if you know all the class names. That and reference the addons correctly. Otherwise, just edit them in the editor.
The 'unknown' would be any internal/external scripts that are using unit, weapon or ammo class names - it might start to be a bit too much trouble then. Ammo boxes could be significant in some missions.
Finally, it's possible that new units and weapons have enhanced configs that might completely wreck the balance of the mission.
Assuming that a mission worth modifying is going to have a reasonable amount of code, it wouldn't need anything special as such, just a lot of tolerance and patience.