Oddly enough, it's entirely possible, or at least it was, to get army XP without even firing a shot, since you could get it by fighting with unequipped units.
You also get a bit of air XP for training air wings, but with a lower multiplier. Fighters gain the most XP per mission, but they also tend to suffer major losses. But, if you're trading at a favorable enough ratio, the total wing XP can definitely go up. It seems as though fighters on air superiority don't count as "being on mission" for this purpose if there are no enemy aircraft on mission in that zone. CAS can get pretty badly shredded if they bomb units with AA, so they can easily go backwards too. It would seem that, in general, national XP gain is somehow proportional to unit XP gain, but the actual calculations tend to be a bit opaque. There are also some actions, like overruns, that seem to give experience to army leaders but not to either units or to the national pool.
Code:
AIR_WING_XP_TRAINING_MISSION_GAIN_DAILY = 3.3, --Daily gain when running training exercise mission
AIR_WING_XP_AIR_VS_AIR_COMBAT_GAIN = 0.8, --Wings in combat gain extra XP
AIR_WING_XP_GROUND_MISSION_COMPLETED_GAIN = 0.28, --Bombers bombing, CAS cassing, NBs nbing, kamikazees kamikazeeing, etc.
AIR_WING_XP_RECON_MISSION_COMPLETED_GAIN = 0.05, --recon mission