Thanks for the detailed response, that does clear things up somewhat :)
I think your science-production-based logic is effective from a high level. Yes, once a player has begun automating science, they've conquered the planet and can be exposed to the harsh enemies present there, but until they've got a foothold they should be given some grace. If this were Vulcanus or Fulgora I think it would work perfectly.
However the issue I see with Gleba is spoilage. Due to the nature of the mechanic you're incentivised to keep production constant, and due to science pack freshness, at a higher SPM than your other outposts. Once science is set up, it keeps pumping endlessly (unless you circuit control it - I'm not sure what proportion of people do that).
Your 21.4k figure assumes you're using all the science you produce. In my case I know the vast majority of it spoils or is recycled away before it's used - mostly due to researching non Gleba tech. In my run I've produced 100k agricultural science already!
Also, while 500SPM sounds like massive overkill (and tbf it probably is...), in terms of infrastructure it's not that much. I think I have 5 biochamers producing science (with T2 modules, but not beacons). I think the main reason I got in such a bind was because I setup science production along with all the other bio processes immediately, then time passed while I was automating rocket ingredients.
So, potential solutions. I have two ideas, feel free to share your thoughts. Firstly, I agree with npuldon that the consumption based approach does sound appealing. You could exactly follow the current evo distribution but with consumption as the factor. This would additionally give the player grace to set up automated shipment of science, during which time surplus science spoiling won't affect evolution. As you mention, stockpiling spoilable science isn't really an option :)
Alternatively, what if we made use of the default Gleba evolution, but scaled it according to how much science is produced. (I'm not convinced the Factorio mod API actually supports this - if not feel free to disregard!) The formula I'm thinking of is something like:
mod_evo = vanilla_evo × science_produced/10k
On landing, evolution is zero and is clamped there even as time passes or spawners are destroyed. Once science is being produced, evolution begins to rise and, once the count hits 10k, matches what the Vanilla evolution would be at that stage. Imo the science produced factor should be clamped at 1 to avoid exceeding vanilla. Thus, the new player is still kept safe until they are set up, but the eventual evolution value will scale with the size of the Glebase.
I'd be willing to try either of those options to see how they compare to the current algorithm. And sorry for the long comment! Turns out I had a lot of thoughts to communicate :)