I've not noticed any archery-training problems, either. (Not tried combining possibilities, though. When they're not supposed to be levelling their archery skills they're either being used, doing their alternate civvy jobs or specifically being given a non-archery combat course.)
On the off-chance that you can get it working, you might also like Bolt Preservation Ranges, as follows:
# = Wall
. = channel
X = Floor with target constructed
+ = Open floor (along which the range spreads)
###### Continue this way
#...... far enough to allow
#.X+++ maximum range-length
#..... -> before entry/exits.
#.X+++ (And back-to-back
#..... ranges heading in
#.X+++ opposite direction?)
|
v
(continue this way
for as many parallel
ranges as you want)
|
v
#..... (last gap as per first)
######
On the Z below, you could find yourself with "fingers" of ramps, between the spurs of natural (or built?) wall you have the ranges running atop-of, but I tend to remove most ramps (that get created when I channel down), and even cut under the range floors themselves to make an area I can assign as a (custom, for training-types only) bolt stockpile.
Bolts that don't hit the target (or an adjacent one..? ..never noticed it, but I suppose it's possible) hit a wall and fall to the Z-1, surviving. And as they've landed directly on a stockpile spot (or at least close to one) there's not much hauling to be done, and bolt resupply from the stockpile happens fairly quickly if you haven't managed to make it difficult to get from the range's firing-end down to the stockpile.