I have this problem with colonization of planets. I kind of need it because I need some way for the player to say "I want to be here" and to prevent the player from taking all uninhabited planets at once for free, but... it does not fit the rest of the game and it brings a lot of other problems.
Note: PLANET BEING UNHABITABLE FOR A CERTAIN RACE IS NOT AN ISSUE HERE (ASSUME ALL PLANETS CAN SUPPORT LIFE).
Like, what happens if you conquered an alien planet? In a classic 4X you take it over (so it's basicly a free colonization), which is partially broken mechanic in my game since many aliens can spread effortlessly.
Or, what happens when when an alien abandons a planet (which happens with cyclic aliens that die out each season and go back to hibernate to their homeplanet)?
The thing is, planet ownership can be fickle in my game (abandoning planets, planets that were abandoned rejoining and so on). It's a total mess with a lot of unusual cases :D
Also, what actually means that "planet is colonized" (again, terraformation is not an issue here, the planet already can support life)? I tried to make it "you have at least 1 population of your race" and the act of colonizing is "sending 10k population and building the first city, which costs 1000 credits". But, it's not working very well...
From my point of view the best solution would be simply to remove the colonization concept (but then the player would go and grab all planets in range during the first turn...)