The default fortress has a footprint of 30×30, which means its range ought to be increased by √(15²+15²)≈21 in order to be able to hit archers; the Roman centre has a footprint of 40×40, thus requiring a range increase of √(20²+20²)≈28. However, bolt shooters and stone throwers have a MaxRange of only 80.
Speaking of which, structures need a vision range of at least (structure footprint radius + siege weapon range), otherwise they won't be able to see their attackers.
Ideally, ranges (attack, aura, heal, vision) ought to be calculated from the footprint instead of its centre. Then entities with the same MaxRange will always be able to attack each other, regardless of their size, and melee units can simply have a MaxRange of 1 (right now the siege ram has a MaxRange of 6.5, because the Macedonian and Roman rams have a footprint length of 12). However, I guess that's difficult to implement and might affect performance as well (a circle is a simple shape).
For comparison, MaxRange from footprint (blue) and from centre (magenta):
It would also solve things like this: