First pass would be to optimize the systems themselves.
Second pass would be spawn a pool of particle systems, make them inactive, then move, show, hide them when needed. This is quite a common way to optimize particle systems or other transient objects since allocating and deallocating memory is expensive.
Finally you could have “LOD” in your particle systems where they adjust their parameters based on distance from the player when activated.