I only use catapults from training. I have a setup like this:
W_+C W= Wall _ = Channel + = Floor C = Catapult
That means they can instantly retrieve their rocks and never run out of ammo to use for training, if there's a way into the channel...
Also, when I said 5 z level high towers, the 5th z level is the roof, so they are on the 4th z level. This works perfectly with my 3 tile wide ditch that surrounds my fort, I ALWAYS have the 3 wide ditch, makes me safer and it's great for when I start out to erect a quick defense. That means, my archers can shoot on the 4 tile, which is where enemies would be if they tried to get right up against the walls.
Also, as Albedo said, a sharp L turn is great. It stops your soldiers being turned into pin cushions by enemy bowgoblins. I tend to make a compound where the enemies will come in, that has 2 entrances. The main entrance is where the enemy will funnel through to get into my base, and then there is a second entrance that is blocked up, which has my soldiers behind. This entrance is usually farther out, so once the bridge is opened, my soldiers come pouring out and sandwich the enemies, stopping any from retreating. That has the marksdwarves shooting from the front, and the soldiers slashing at the back. Works every time