From my perspective, the core problem is:
1) Being a text game means that the battles are instant, and so a country can be demolished as fast as a player can click through the attacks to make it so.
2) The game is also a real time strategy "city builder" where you have to wait long periods of time to make progress. For example, you need 200 game months (or more) to get your corp's efficiency maxed out, which is on the order of a real month or longer.
The 2 ways to re-balance these 2 things would be 1) make attacks take longer and 2) make growth happen faster.
My opinion: #1 would be easier to do, and better for the game.
How would you accomplish that?
1) assign speeds to units, so that it takes time for them to travel to a target, and back.
2) Limit the speed that an air base can rearm planes, thus limiting the number of attacks per base, per day.
Example: Attack wings 1-10 are stationed at base 1.
Each wing has 400 aircraft.
Base 1 can refuel and rearm 100 aircraft per hour, or 2400 per day.
Result: initially, 4,000 aircraft are able to attack, but then the rate of aircraft attacks will drop roughly in half, to 2400 attacking aircraft per day.
Proposed change #2: damaged aircraft.
Instead of 100% of aircraft being destroyed, have a smaller number of damaged aircraft be marked as destroyed outright, maybe 15% of the current system, with the other 85% being marked damaged.
Defensive aircraft that get damaged can usually manage to return to a friendly base, where they will be repaired, and returned to service.
Offensive aircraft that get damaged will have to travel back to friendly territory to be able to land and repair. Damage can result in conditions that make that less than 100% a sure thing. For example: oil leak, fuel leak, hydraulics leak, etc.
Damage to aircraft could be stored (in software terms) into 2 groups: Overall damage, which in sufficient amounts would result in damage exceeding HPs = loss of aircraft.
Critical damage, meaning damage that continues to deteriorate the airworthiness of the aircraft.
Example: A fighter aircraft of a specific type has 1,000 hours between servicing, so we assign it 1000 HPs. Plane flies into enemy air space, and attacks enemy forces. Flight time was 5 hours, so the HPs are reduced to 995 at the point of contact.
in combat, the plane suffers 500 HPs of damage, and sustains 50 critical hits, which then drain 50 HPs per hour on the flight back home.
Upon arrival at the home base, the 1000 HPs has been reduced 10 for flying, 500 directly from combat, and 250 from critical damage. Plane is at 24% condition (240/1000) and has a 24% of safely landing without further damage. The 24% can then be adjusted up or down by pilot skill and morale factors.
If the wing that this plane was part of goes to attack again, many of the aircraft will be missing, but also many will be grounded for repairs.
The outcome of this would be that even a country with a significantly larger attack force would be taking damage just from sending in huge numbers of aircraft, giving a slight advantage to the defense in the losses ratio beyond the normal defender advantages.