The "overlapping archery range and barracks" thing was an idea that someone thought up a while back, during the period when archery ranges were completely broken and unusable. The development of this idea coincided with the bug fixes that made the archery ranges start working, so people got confused.
You don't need to overlap an archery range with a barracks. Marksdwarves will practice at the range without any other "rooms" overlapping it.
There was a bug in an older version in which dwarves who were assigned "indiv choice, ranged" as their weapon would never do archery practice, even if they chose a crossbow. They had to be assigned "crossbow" in the military equipment/uniform screen in order for practice to occur. I don't know whether this bug is still present. I continue to assign "crossbow" explicitly.
I don't assign training schedules for my marksdwarves. I leave them "off duty" all the time, and just give them station or kill orders when I want them to actually do something. If I want them to train, I make an archery range from an archery target (make sure you get the firing direction right, and that the room extends out at least two squares away from the target in the direction from which the dwarves will be firing), and then mark the archery range with a "T" for the marksdwarf squad(s) that I want to practice there. They won't practice immediately or full-time, but they should do some practice firing in their spare time. When I want them to stop practicing, I un-designate the archery range (leave the target there, though).
You need one target per dwarf who will be training simultaneously. The way I do it is to make one archery range "room" from each target, and assign firing direction and squad "T" marks on each of them. I don't know if there's a less tedious way to get it done.
The broken bolts that litter the map never seem to get cleaned up for me, either. I never worried about it.