The surviving of fighters is depended on their speed. Always try to get fighters go as fast as possible.
You never can get enough speed on frigates to make them harder targets (I actually put 6 level 3 engines on them and still they got blown up within seconds. Their speed was near 1.7) so concentrate on shielding with them. Or just try to keep them far away from the enemy and use long range weapons.
Cruisers are slow and you will never get them move fast so don’t waste more than just one engine on them then concentrate on the weapons and armoring with them. Put shields and armoring on them depending what kind of enemy you are facing. A lot of fighters? Put quite much armor because fighters can go inside their shield bubbles. A lot of frigates/cruisers? Put more shielding on them because frigates and cruisers very rarely go inside your shield bubbles.
Cruisers are tanks. Frigates are some paper ships which you need to keep away from enemy. Fighters are the annoying mosquitos of war which in large numbers can take down plenty of ships if they have correct weapons and priorities set.