If we're talking about vanilla (are we?), the economy sim doesn't take too much cpu and it's spread out over multiple frames in a way that should avoid any hiccups.
Good point re: fleet AI; I should take a look at that - confirmed and noted. Might be some low-hanging fruit there as it's code that hasn't had an optimization pass.
Was there any specific terrain rendering you had in mind? The one thing I'm aware of is rings (it renders the entire thing regardless of how much of it is on-screen), but that doesn't seem to have been a problem. Other stuff seems to be fairly clean, given that it's using immediate mode. (And, I mean, it could use glDrawArrays etc, but in my experience that doesn't help at all for the small numbers of vertices that are involved.)
... you know, let me move this to Modding. Seems a bit more appropriate for something that's getting technical.
You might want to make a script hook type for the campaign that gets thrown in a thread pool (with info passed for executor count and index on advance()) so that some of the bigger operations can be done with extra power.
That'd require making the engine thread-safe.
By the way, the campaign renderer for large fleets is expensive. You might want to consider fading out small ships if the screen is populated with a lot of them.
Yeah, it's pretty expensive. Spent a bunch of time getting it to run faster, so it's a bit dry on easy fixes...
(Also, note that it doesn't show every ship - limits to a total of 15, iirc, with some small and some large to create a balanced-looking fleet. Interesting suggestion, though - have a feeling I'll have to look at this again at some point.)