I like Carriers, but I think the problem they solve (keeping the number of ships down to reduce CPU/RAM load) might be better solved in another way. What if instead of Carriers, AI-spawned ships could spawn in small stacks. So instead of spawning 2000 ships, it could spawn 200 ships, each in a stack of 10. You wouldn't even need to display anything special about stacks if they automatically split when the total ships in the system dropped. For the best feel, stacks should be mixed with normal ships. So if a wave should spawn 2200 ships, instead of 200 ships + 2 carriers, you would get say 800 regular ships and 140 stacks of 10. Only a total of 940 units are spawned, but the fight's difficulty reflects 2200 ships.
If I were to break down the details, I'd go with:
1) All ships in a stack are of the same ship type
2) A ship stack's damage is multiplied by the number of units in the stack
3) When a stack's health reaches zero, the number of units in the stack is reduced by one and the ship is fully healed
4) AOE damage is multiplied by the unit count of the stack
5a) Stacks require one tractor beam/unit in the stack, and cannot be tractored if fewer tractors are available from a single source
6a) Paralysis duration is divided by the number of units in the stack
7a) Engine damage is divided by the number if units in the stack
5-7b) Ship stacks are immune to tractor beams, paralysis and engine damage
5-7c) Ship stacks split off one ship when struck by tractor beams, paralysis or engine damage, leaving the rest of stack unaffected
When the total number of ships in the current system drops below a given threshold, stacks of units begin to split into individual ships
Granted the AOE damage handling isn't perfect, but it is a fairly reasonable approximation given stacks would only appear in very large battles.