Marksdwarves can be awesome.
#1, create a shooting platform above the ground. This is where you will station your marksdwarves when a siege comes.
- Trick #1 - a good platform is very narrow - 1-2 tile wide with fortifications on the enemy side. If you make it wider, when you station your dwarves some may stand too far from the edge and can't "see" the enemy. So make it narrow - force them to stand against the fortifications.
- Trick #2 - isolate the platform. When you give a squad a station order, it is not exact. If there is an empty room next to your shooting platform, some dwarves will stand in the room and be useless! Isolate the platform so they can ONLY stand on the platform.
- Trick #3 - NO PATH to the enemy! You want your marksdwarves to shoot, not fight!
#2, create an ammo stockpile inside the fort. Place it close to the marksdwarves, but out of sight of the enemies. Stock it with many bolts!
#3, the biggest trick - dwarves will fire at enemies until they run out of bolts. Then they will charge, if they can find a path to the enemy. If they can't, they will stand still and be useless (because of "Station" order). BUT - if you give them an order to Patrol, and
set the Patrol from the ammo room to the shooting platform, they will go and reload, and come back and shoot some more.If you can get marksdwarves to reload, they become extremely effective, and can route any siege that does not contain archers without any losses. They will now go through bolts like booze however, so be prepared to make many bolts.