Honestly, Carriers are at the end of their usefulness as we know it. The biggest reason Carriers were so devastating in the Second World War, and the Cold War was that the Carrier could operate far enough away from the battle, that the fighters were the only extension of it engaged, and the enemy didn't know where your base was. The advent of cruise missiles and satellites have made an impact on Carrier battles. With satellites you know constantly where the other Carrier is, and two cruise missiles can cripple a Nimitz class Carrier, while two cruise missiles aren't a threat at the moment because the missiles are so slow, you can see the incremental increase in Missile speeds, in the near future they will become too fast for point defense to handle effectively. Once combat moves to space, Carriers will be well past their prime, and emphasis will be on Cruisers and Destroyers.
In SFC when I fly a Carrier, I keep a very close eye on the fighters. Because the UI doesn't differentiate between the different fighters, I make sure that I have the same type of fighters on board. I know what their ordinance is (you may have to check the fighterlist file in the program folder), and once they deplete all their ordinance, I will recall them to re-arm and re-load. I never make them fly with just their phaser (unless that's all they launch with in the first place), because unless its a Phaser 2, the fighter never seems to fire it at the best time. (range 14 phaser 3 volleys?) The same thing usually goes for AI controlled ships, they fire when they can fire, regardless of range. Now I know that one of the fixes that they want to do to EAW is to give the AI a little more intelligence as to when it fires, perhaps we'll see fleets return at that point.