Personally, I disagree with the entire implementation of safe havens. They
are a hack and lead to all kinds of distortions. I propose to do away with
them entirely and instead place guard units and default garrisons in all
These guard units would be standard, non-aggressive, non-moving NPC units
with 'defend all' set. These units would both prevent interplayer attacks by
coming to the aid of the attacked and the placing of garrisons by helping to
defend the default garrison as well. The strength of these units should vary
from location to location, but about 100 pikemen seems reasonable for the IC
with other cities having smaller guards.
In time there will be factions willing to defeat the guards in order to be
able to place garrisons of their own and powerful enough to do it. However
even for such factions the cost in men will be considerable in particular as
to encourage other nobles to remain in the city they probably have to provide
a replacement city guard.
If you want to get really cute about this, you can give the city guards
'admit all' status. This would allow any noble to stack with the guards, in
effect to join the guards. In return for this every noble (regardless of
fighters in his possession) would receive one or two gold a day. Not the
highest paying job for nobles and one carrying a certain risk if there are
battles. On the other hand, it requires no special skills and no monthly
investment of time.