Easy, event driven updates. Populations would all have a flag "should_update" which defaults to false.
When a population update event occurs, like constructing a building on a planet, you mark should_update for all the pops on that planet to be reevaluated.
Unemployed pops would have should_update until they are employed.
Changing a species would should_update for every pop that got gene modded.
Then every day you only run updates for pops with should_update set to true instead of every pop in the galaxy.
Late game performance would be on par with early game because a lot of planets have been forgotten about
In order to reshuffle pops to make sure they're in the best jobs, there could be a timer per planet, based on things like the size of the planet, time since last migration, etc to trigger a should_update for the whole planet.
It'd be even better to just trigger the updates during the event and completely get rid of the polling loop, but that would require a lot more work in the paradox engine