I would agree on a lot of the points, particularly plantet development (which if done better, would lead to an overall stronger opponent) - stuff like building research/manu/tech capitals on tiny worlds, or 2-3 of them on the same tiny world, and everything else mentioned.
For some of those items, you have to remember this is AI - it's not you, it's not a human. The AI has a huge amount of things to keep track of, and coding AI to sacrifice or do other things that are serious human judgement calls, isn't easy. The AI also has to be fast, so that the time between turns isn't ridiculous. It's surely hard to make the AI know when to patrol sectors with fleets, identify threats or real enemies, etc.
As a human, we can scan the game and make scores of decisions involving tons of ready information and we can combine that with all previous experience in all games and we can plan ahead, we can make mental notes, we can do comprehensive empire-wide planing - all in the blink of an eye. It's not so easy to code that.

As a human we can get a feel for things - I start a game, take a guess at how many worlds I'll be able to colonize, save my manufacturing capital til I get a good spot, maybe at some point decide it's now or never and stop saving it, build it, or decide I'll wait til I take a juicy planet via flip or conquest from a nearb foe and save it for then. It sometimes not so clear when to do things - you go by experience or gut feelings - something no AI will ever have, or for it to have it would require more processing that you'd want to sit thru every turn in a game that spans hundreds of turns.
The GalCiv2 AI is pretty damn good as far as single player game AI goes. There are definitely some things it could do better without crushing the game performance.