Another pretty good way to detect intruders (it'll also make intruders very dead) is to place your barracks in the entrance and have your best squad training there. I nearly always have 2 of the starting 7 career military, and start them training very early, so my fortress entrance is permanently secured against intruders.
In principle, intruders can sneak past military dwarves unless they nearly bump into them, however Observer skill increases very quickly during training, so the squad will have very good detection rate before any threats start turning up.
As I recruit more dwarves for the military, I put additional squads at the entrance barracks. Normally only the most elite ones will actually be used to engage sieges/ambushes while the weaker ones get to devote their time to training and not resting in the hospital/afterlife. This means that there will always be some dwarves training at the entrance even while the military is engaged with (other) invaders. While you really want elite dwarves to deal with werebeasts and the like, even a newbie with armor and shield can absorb a great deal of damage - much more than a soft squishy hauler can.
The other very effective thing is just putting everyone who isn't military/miners, in marksdwarf squads and arming them and giving them a shield and perhaps some body armor (helmet, mail shirt, gauntlets, high boots is a fair compromise on protection vs weight). They used to be great, but even with cowardice in .40 they'll still take a few pot shots at the intruder, and the shield helps A LOT as it might block upwards of 60% of attacks, further delaying the intruder from doing any harm while the real military runs to the scene, if in addition you armor them they'll normally survive random attacks instead of normally dying.