In the past I've shot arrows at the ground two tiles away, and it has resulted in very slow skill increases (a point for every 200 shots or so). The advantage of firing into the ground is that arrows don't break. Firing at targets isn't a viable strategy because the arrow breaking rate is so high you run out of arrows very quickly.
It may be that firing at the ground further away has a better chance of increasing the skill, but I have no info on that.
If firing at the ground, try to select a target where the ground behind it slopes upwards, as it increases the chance of missed shots getting stopped before they travel too far away. Also make sure any dogs are out of the way...
Currently I'm playing with the house rule of no such training, but I DO (ab)use opportunities for live training a lot:
- Large animals in traps: Fire blunt arrows aimed at the head from a close distance (adjacent tile for herbivores and 1 tile further away for predators). I get a arrow high loss rate, though, but the harm to the skin is very limited. Also note that any arrows that break when hitting an animal just disappear (known issue) rather than resulting in broken arrows.
- Njerps: I fight those with a bow unless they manage to catch up. Once they're unconscious I fire at their legs from where I was when downing them until they die (if they had a bow that distance is farther away than if they only had melee weapons, typically). Firing at the legs is hard, so fewer arrows hit the target, which means more arrows can be fired before the training session ends with the Njerp dying.
Regardless, increasing the skill is very slow, but it does happen occasionally.
It can also be noted that it seems the chances of getting a skill increase decreases as the skill level increases, and the number of attempts before a skill increases varies wildly (I suspect it might be a straight percentage rather than one increasing gradually with each attempt). I gave up my latest dodge training after 600 attempts without a skill increase.