yeah.. also realised this. Range attackers definitely have advantage unless the target is resistent... (e.g. I find range combat against collosus a little difficult, prob due to regeneration of non critical wounds, while a legendary swordsman can take it apart all by himself)
What I do now is :
1) basic training : wrestler
2) melee training : weapon of choice, preferably hammer (for non-lethal and works with crossbow with no ammo) and sword/spear (good criticals against megabeasts)
2a) armor/shield training : if not legendary, cross train another weapon (pref hammer again).
3) Marksdwarf training
Basically, everybody can be both a melee or marksdwarf on demand. You prob want melee for megabeasts and marksdwarf against other archers.
sadly, even with platemail and all, charging a couple goblin archers with your fully armored marksdwarves can still cause casualties... my suggestion : let each military dwarf have a war dog. This is the first "standard issue" i give my military dwarves, even before they get armor. War dogs are good for
1) distraction to enemy archers and attackers. A bolt firing at one of your dogs = a bolt not firing at one of your dwarves
2) attached war dogs are not pets. they don't need coffins. I haven't lost any after my new plan yet, but I think you can even butcher the dead animal for food and resources.
3) Dogs breed relatively fast. Put those stray dogs to good use.
Frankly speaking, this is quite a long-term training plan and I've only advanced up to melee training for some of my dwarves (all legendary wrestlers + legendary
btw, Nos3y's idea of using hunting to train marksdwarf is actually quite good, less the trouble/unhappy thoughts that may arise. It is good for controlling the ammo as range training can quickly deplete your ammo supply. If train by hunting, you can lock up your metal/master bolts and just let them use bone bolts. If they manage to kill something, it brings back bones and you can then make more bone bolts. If there are no animals to hunt, they shouldn't use up their ammo (unlike archery target). And it actually frees up some of your original hunters to do other things. Only bad thing is that they may be too way out of your fortress to respond to emergencies. Perhaps a better workaround is to only put fresh marksdwarf on hunting exercise. After they reach a certain skill level, pull them back into military to train full time and be ready to respond to threats.