I had a couple ideas today which I thought might be implementable without causing too much trouble.
1) Upgradable VP files. This is a takeoff on a package-description file format I came up with a while back. Basically, make it possible to add meta-information, like author/mod/submod to files. This wouldn't have a whole lot of immediate effect. But, it could be setup with the -mod paramater so that if a given VP had the wrong mod name, it wouldn't be loaded. This would make it even easier to install mods, literally drag-and-drop.
However, it would mean that every VP editor/viewer to date would be invalidated, including VPView. That would mean you'd have to use QuickVP or VPMage (I'm not sure if Kazan's new VP tool lets you view VP files) to, er, view VP files. I'm assuming those would be updated, it wouldn't be too hard to skip over the extra metadata, and old VPs would be read as they are now.
2) A mod.tbl - this is similar to the VP file idea,in a sense. This would allow you to specify the default campaign for a mod, as well as a list of campaigns associated with it. (This would probably be setup so that campaigns using that mod could add themself as a campaign). Then, when Freespace 2 was started up, it would automatically switch to the default campaign for that mod if the pilot's current campaign didn't match any of the campaigns listed as using that mod. (For multiple mods, the list of campaigns would be expanded to all specified campaigns for the various mods and the default campaign would be taken from the first mod specified)