It sounds like siege engines are hard to make use of if they only fire at the same z-level. How would you keep them from being overrun?
I build them in long, wide tunnels. They are fortified so noone can enter on their z-level. I build drawbridges on the end of tunnel, in place where enemies tend to congregate, but behind a moat anyway (this need some planning ahead). When opened, these bridges allow to fire through them and and at the same time they close access to utility tunnel one level below. When closed, they open access to that tunnel, stop training ammunition which falls one level down and is not destroyed. Utility tunnel allows collecting ammo even when bridges are in open state and thus the tunnel is closed from above. Fortification is build some 15-20 tiles ahead of engines, I'd need to count.
When not under siege:
I have bridges closed and dwarves freely wander through area and side doors. I set catapults (build three tiles in front of ballistas) to Fire at will. They train my operators to legendary status in time. Ballistas are set as Not in use.
When under siege:
I have bridges opened, and dwarves cannot pass, the same goes for any flying invaders (non flyers are stopped by moat anyway). I set catapults to Not in use. I set ballistas to Prepare to fire. When enemies are in position, I carefully order dwarves to Fire at will, but after firing I immediately change to Prepare to Fire. That way the salvo goes in one time, and they won't hurt other operators, who like to wander in front of ballistas even if traffic is set to restricted.
How I make enemies to stand in one place? I have a tower of maximum height, which is connected to a passage to my fort. They gather around the entry, while their scouts and trolls try to make through traps (and fall on their heads).
Anyway, I think that siege engines are just for fun, because even legendary operators with masterwork ballistas and iron arrows usually only bruise goblins. My best shot was when one arrow killed two goblins and broken legs of another one. One suqd of goblins may mean dozens of arrows. When I use them I feel like a military superpower which uses rockets costing ten times more than tanks they are intended to destroy.