Consider what a D2 campaign can offer that GSA cannot. GSA does not have a map, empire economies or continuity of missions. Map terrain is arbitrary and selected for a particular match. BPV limits are arbitrary and decided beforehand. Specific ships can be selected beforehand. This makes an excellent environment for constructing balanced and fair matches for a PvP league.
Ideally, rules that are employed in a D2 campiagn should be part of the game and the limits placed on players should be part of the system. When we get SQL working properly (not if but when), we will be able to control the shipyard, even use a php interface on a website to order ships, create missions that effect not just the DV of a hex but its econ as well, etc etc etc creating a much richer environment. Limitations on players should then naturally occur from the game itself, you cant buy what is not in the shipyard. The more arbitrary rules we place on players, the greater the need to enforce such rules. It would be nice to impose a rule that says a player flying an escort ship needs to actually be escorting a carrier, for instance. This is perfectly doable on GSA, but impractical on a D2 campiagn. I see trying to limit what ships can fly with what other ships in a similar vein. While the intent makes a lot of sense, it is impractical on a D2 campign for the above reasons and also contrary to the design philosophy of a D2 campaign which I have tried to outline.
This is personal opinion of course, I think D2 campaigns should utilise those factors that GSA cannot offer. The production point system used on GW4 is an example of this, and it worked very well. If it could be connected to the actual economies of an emoire, it would be even better.
The less arbitrary rules the better, a design philosophy that incorporates into the game mechanics itself is in my opinion a better option since such rules need not be enforced.