I think these changes would make the default campaign better.
1. Patents grabbed between rounds should not prevent other players from getting those patents in-round. The Patent Lab becomes a very unfortunate building after any round that offers free patents.
2. In the Elimination rounds, you should be allowed to choose which opponent gets knocked out, selecting from the opponents in your round. If players want to knock out a strong opponent, they select that opponent as a competitor, thus losing profit in that round but gaining a long-term benefit.
3. The AIs should all select their colony before you, the player. Then you should be allowed to choose from any colony you like.
4. The "Upgrade Lab" should be renamed "Efficiency Lab" or something else. "Upgrade" has a name conflict with HQ upgrades, and there are "Faster Upgrades" and "Cheaper Upgrades" already, which players have expressed confusion about. "Engineering" conflicts with Engineers. "Efficiency" describes it properly: it enhances output without consuming extra input.
5. The 3rd expansion round should be removed from campaign.cs, because expansion rounds are boring, and the campaign is really long.
6. There ought to be a "Free Hacks" perk, since the Espionage executive really needs it. The upfront cost for hacks hits players hard when they don't already have a large pile of cash, and forces them to make some dumb calculations regarding their cash pool.
7. Bug: the Network Virus perk is missing entirely, and should be added to perk.xml.
8. Whether a perk is per-upgrade or on-found can be separated into a flag, instead of baked into the specific perk. This lets us do things like Nuke-per-upgrade and resource-shipment-on-found.
9. In the xml, the zType, Desc, and ShortDesc of the executives should be MR_EXPANSIVE, MS_EXPANSIVE, ROBOTIC_LARGE, etc, instead of EXECUTIVE_UPGRADE. This is because their personas are tied more to their HQ than to their playstyle.