Well, that was the easiest way to represent ground combat without getting into too much micro-management. It sucks, but I don't think it is really that bad.
I would have prefered that planets had two kinds of population, civilian and military, with the military being determined by recruiting and research level in a "ground forces tech". Then military transports would only carry military population, while colonizers would only carry civilians. To invade other planets you would obviously need military population, but to defend, since some planets will probably not have any, then the game could generate a "militia". Lets say, 10% of the civilian population would become militia in the case of a enemy invasion. Once the local defenders get defeated, the local civilian population would become part of the invading empire. To simulate resistance, the occupiying empire would not receive income from that planet for, lets say, 10 turns? After that, depending on a "alien ocupation" tech, the ocupying empire would start to receive an partial income, progesively increasing, for x number of turns until the local got asimilated or pacified. The presence of invading ground forces policing the recently ocuppied planet should also reduce local resistance.
Its a fairly simple system, but I doubt it could work with the current building of GC2.
You would need two types of population, military and civilian, plus the civilian population would have to be racially identified, so for example, when the Drengin occupy one of my nice terran planets, the planet window would say: Population 5.2 B Terran, or something along those lines.