I hadn't noticed this but it makes sense. The AI really should periodically (~15 min?) re-evaluate its fleet to see if there are glaring flaws. It would have to be done pretty carefully though, since making its thinking too strict would cripple its ability to adapt to fan modifications.
I see two solutions:
1) instead of making the AI think of things in terms of anti-ship, anti-fighter, anti-planet, etc, have them analyze their weapon abilities compared to what their intel indicates they will be fighting. Hopefully the scouts it constantly sends all over the place aren't just for show. This way you can say "this ship has 'antiheavy' weapons, and the enemy has an overwhelming number of 'light' hull classes. Let's not build too many of them." These sorts of weapon/hull descriptors will be common to any modification.
2) Rather than have the AI simply analyze the survivability of its ships and make its choices based on that, it could analyze their combat effectiveness. "this ship has an average lifespan of 30000 seconds, but in that lifespan it only averages about 0.0032 damage per second. this other ship only lasts about 3000 seconds, but in that lifespan it averages 0.28 damage per second." Then check for frequency of special ability use - ships which are predominantly used for their special abilities, like command cruisiers, will have their special abilities used while in combat, allowing you to differentiate between ships which aren't meant for fighting and ships which are meant for support. Ships meant for support should be built based on their relative cost as well as prioritized based on what type of ship their ability is meant for. Ones which benefit nearby friendlies can be built based solely on their cost and cap usage, while ones which have special abilities meant to be used mainly on one type of ship (heavy hull, light hull, etc) can be built based on their cost, cap usage, and number of enemy ships of that type.
The AI should also have some way of thinking "I have tons of money and nothing to spend it on" but there's not really a lot of thought necessary. It should just make sure to always have at least one capital and one frigate factory. Scuttle things in a priority basis if no frigate factory has existed in N seconds. Increase number of minimal frigate/capital factories based on the number of planets it owns.
I'm guessing the AI is smart enough to analyze the playing field for "hot spots" - areas which are most likely to come under attack... Well I'm hoping it is, anyway. That's pretty simple to calculate... anyways, it should be set up to build factories a safe distance from hot spots, but not in cold spots either. In most games it probably wouldn't matter much whether its frigate/capital factories were at the homeworld or the front lines, but in multi-star games it would certainly be detrimental to its ability to attack and defend effectively if it didn't try to keep its factories within 4-5 jumps of the most important hot spots. And hopefully it should build at those closest to hot spots first.
I realize Ironclad isn't Stardock, and this is an RTS not a TBS, but some degree of clever planning on the part of the AI would really put this game in the histoy books. Let's face it: this game is too big to always be played online, and I would guess most people play at least 3/4 of their time offline. I hope Ironclad will prioritize AI at some point, even if it's in a sequel and not the immediate future. There are some really glaring flaws common to most RTS games that I wish Sins didn't also share. For instance, you will never, ever be attacked in more than one place at once by a single AI. For this reason, the only way you'll ever feel like you need to keep anything but one or two monolithic fleets is if you're severely outnumbered. I'm not expecting all kinds of complex strategy or anything, but being able to think about more than one thing at a time effectively would make the AI so much more effective.