Large carriers can be nice if you make large parasite beam warships. But small ships have advantages in avoiding detection. Although a lot of the time, the carrier is launching from the other side of a jump point. If your fighters have a decent range, (depending on sensor tech level), the carrier should be always able to launch from beyond detection range.
The exception is where multiple nations are operating in the same system, and maintaining passive tracking on ships, and hostilities can break out at any time. In a player v player scenario, you have to deal with the threat of an enemy deliberately holding back forces, engines down, waiting for an opportunity to strike a soft target. That isn't something the AI is good at. Players are much better at hunting down a suspected carrier than the AI is.
Missile ships, the missiles have no choice but to move straight towards the enemy, so they reveal a possible cone where they could have come from. Fighters, on the other hand, have the option of loitering while their carrier scoots back out of the system.
Another thing that carriers can do, that missiles ships can't, in VB6 anyway, is deploy box launcher pods from the other side of a jump box, and launch homing missiles on transit. Pretty sure that isn't an option in c# anymore? So carriers can make a close in defense of a jump point very hazardous.