That's a good question. The answer depends on just how many AI ships you have floating around. If there aren't that many, then you can treat them the same as players. But if most of the space is actually occupied, be it by players or by AI, you can't really do what we were talking about because it means representing most everything, bringing us back to square one.
What you can think about then is whether or not you actually need the AI ships to be "physical" objects in your game. Their behavior will be fairly predictable, so instead of representing the actual ships, represent their effects. That is, do not represent a cargo ship taking off of planet X and going to planet Y, with Z units of cargo, flying through space until eventually unloading, etc. Instead, just note at time t_0 that planet X loses Z units of cargo, and that at time t_0 + transit_time, planet Y should gain Z units of cargo. You can account for things like piracy by encoding a probability p of the cargo failing to arrive and instead being transferred to some pirate base.
Basically, instead of representing the entire universe as physical objects that actually run around and do actual things, represent the desired effects
. There is an extremely important rule to remember in simulation: if the player can't see it, it's not worth having
. All the players care about is that commerce happens. They don't care that a ship (that they can't see) is actually moving. Just tell them that it is.
Now, the tricky part is what to do when a player enters a zone where they will see AI ships. Then, and only
then, should you instantiate these AI entities. This is also fairly easy to do: if you know that X cargo ships take route Y per day, then you can estimate the probability of encountering one at any point in time. (A Poisson distribution is probably what you want, but a uniform distribution would be an ok approximation.) Then, when a player enters the zone, randomly generate the zone's population based on your set of probabilities.
To summarize, it is extremely important to remember that you don't need to represent actual things that people will never see. Represent only the effects that matter, not their mechanisms, which (from the player's perspective) are of no importance at all.