Also, it'd be kind of hard for an AI to trick you that it has a hundred ships when the system map clearly shows it only has 9 and 5 are fighter wings
This would work a lot better if you introduce some ambiguity into the system map readout of fleets.
Ooh, had a thought:
In system view, you can only see the classes and how many of each. The ECM systems would either prevent your sensors from detecting ships in the enemy fleet (making it seem smaller than it is), or add sensor contacts to the fleet (making it seem larger than it is).
When you actually get into combat though, all the ships are visible and the closeness of the scanners would negate most/all of the ECM, making all the ships visible.
So for example a pirate fleet could have a strong ECM and appear to be only a frigate or two, but when you actually engage the fleet, it turns out to have a cruiser and a half-dozen frigates.
Or a single freighter could be making itself a less appealing target by generating a few destroyer signatures, making weaker pirates less likely to attack it.
Of course, you could get ECCMs that work to break through the enemy ECMs and reveal the true number and type of ships in the fleet, but you would still not be able to see whether that cruiser class is a freighter or a warship until you got right in it's face
(Apologies if this has already been suggested. Spur of the moment idea.)