I have been doing this during a couple of lunch times at work. As we know, attacking live targets works okay now, but people (me) are still having trouble with archery practice. So this is what I have been trying to work out. I managed to get my squad training in my test scenario like so (from a clean embark, with premade xbows in the embark kit):
1) Create a uniform with just a crossbow without defined material (I embarked with 7 metal ones).
2) Create a squad from my starting 7 using the uniform. Do NOT make them active/training. They must be set to Inactive to train properly.
3) Assign 100 wooden bolts to the squad in the ammo screen, set them to Training only, no bolts assigned to combat.
3) Create a few barracks with only a single archery target (nothing else) in each one. I created 4 of them, overlapping at the edges. /edit Also assign the barracks as [T]raining for the squad (nothing else).
4) Create two craft workshops and start two dwarves constantly pumping out wood bolts.
5) Create an ammo only stockpile next to the barracks.
To start with, as many of the squad as there were archery targets available went in to archery practice mode, but all just clustered around the wagon. Then, as ammo started to become available they would go and start practising, till eventually all archery ranges were in use. You can see the effects of ammo assignment when you nearly have enough ammo, but not quite, as one of the dwarves set to practice will go to claim some ammo as soon as it is dumped in the stockpile, then it will get assigned to someone else and the original dwarf will stop in his tracks, and another will go pick it up. This generates the dreaded "mismatched ammo" message. You can see the confused dwarf moving closer and closer to the stock pile, till he eventually gets there and claims some ammo.
Would be great is someone could verify all this, it only takes 10 minutes or so to test this out.