As far as I'm concerned there ought to be mechanics put in place as to constrain environments where they can be put, i.e. server denying deploy command if any of these conditions are not met:
1) Within range of -20k to 20k by vertical axis.
2) Within rectangle of system map (derived by per-system scale property from universe.ini).
3) Radius to closer solar object greater than 20k (that includes other bases, planets, jumpholes, jumpgates, etc).
4) System count of PoBs is lower than a certain universe constant or per-system constant, thus if you really really want your base in a populated system - destroy another one first.
Add new mechanics of a constantly increasing upkeep using base level as multiplier so that the base would eventually slide into vulnerable state, especially true for maxed out bases, thus those maintaining it would also likely to actually defend the base properly instead of simply pumping in with traders. Exponential upkeep growth would mean that eventually it would fall into vulnerability state for a period of time during which a siege can be laid, and if base left undefended it would fall down. Once vulnerability state is over the upkeep returns to base levels and again slowly rises up, thus making it cyclic. And there you'd have automatic period events for PoBs defense -> more activity.