One thing I have not seen mentioned here is that a ship can only target 1 other ship at a time.
I was facing Yor fleets with every (medium) ship having 40-60+ beam attack, even the troop transports! This means that every one of these ships pretty much killed any of my ships in one shot in battle, regardless of the size (no Dreadnaughts yet). This 'defensive' tactic worked really well because I was honesly scared of going up agains these fleets.
Then I started using tiny ships with 24 attack to withdraw the firepower from my big ships. This meant that every shot from the enemy could still kill one of my ships but since they were only tiny ships I had a lot more of them to spare. They sort of operate like one-shot-kamikaze-missiles.
It is important for this tactic that the small ships represent a serious enough threat for the AI to target them (more attack/hp than the big ones) otherwise they become pointless.
In the meantime my big ships could mount enough defenses to deal with other races that were using more reasonable attack/defense ratios.
I love the fact that the AI came up with a good tactic to make me scared of their fleets, no amount of defense would have been able to deter me, but this massive amount of attack definately has cost me a lot (of time and money).