In theory, you could wrap up a dummy *.msi file that doesn't register itself on the system (by conditioning out the Register* and Publish* actions), and then add Major Upgrade items that point to the various different products.
This would allow RemoveExistingProducts to handle removing all the various *.msi's from a single commandline call (assuming they uninstall cleanly in this fashion).