Maybe it's just because I "cheat" with my extremely thorough use of traps (both standard and non-standard) but I've never actually lost a child to a snatcher before. Just throw a ring of cage traps, weapon traps, stonefall traps, spikes set to a repeater on a safety trigger, then another batch of cage traps just to make sure, and then a few dogs on chains to detect the kobolds, then some caged animals to release, then finally the emergency drawbridges to hermetically seal your fort completely from the outside if your outer defenses failed.
Never had anything get through that from the surface side. Most often, ambushes are announced to me when I notice my cage traps somehow got full.
Cavern side, you need to do a "repeater" trick with opening and closing drawbridges that offer entrance to your fort, closing one when the FBs get close, but opening the other. Then, in between them, you set your spikes on a repeater with a safety trigger. Just run them from one entrance to another back and forth over those spikes.
I really only like military for marksdwarves behind fortifications. Once I've redesigned the only siege-time access to my fort to have to go in an arc where my marksdwarves have line of sight on those sucker goblins for a good 60 tiles, at least.