Personally, any migrants with
any military skills at all (even if just a Dabbling Dodger) are initially eligible for one or other of my military units. If they've got a valued civvy skill to a decent level, then they're in a part-time training unit, and if they've got dependants they're in a non-primary unit. At first they all go into a 'refresher' or Boot Camp squad, to get non-weapon skills up (including Armour), then get farmed into (still segregated) weapon-specific squads for further training. Those with an obvious weapon capability are easy to choose for, the remained are looked closely at before allocating (for attributes and other clues) but ultimately I'm going to bolster up that 'lone Speardwarf' with someone who's suitably open to
any specialisation.
This is probably not the best way to do it, but it's what
I do.
After all that is sorted, I tend to go down the Therapist job columns in the Civvy screen and sort them, in turn. Any miner above a certain (good) level is ensured to be a miner by removing
all other jobs (I don't tend to get any that are significantly skilled in any other civvy job, though I may already have them set up as a part-time military person). For every
other civvy job (that I'm interested in) I'll take anyone who is Legendary in a job, even if I don't have any work for them to do (I'll make sure that their supply-line is set up shortly, even if they have to start it off while they're waiting). After that, the top 'N' dwarves with any skill get applied to it, if I
need a further 'N' dwarves. (No-skills in an industry without easy 'practice' are excluded, so I may be understaffed, at first.)
I'll generally 'mark' each dwarf as being 'dealt with' by de-selecting Corpse Hauling. When I review a 'later' skill and find a 'sharing violation', I decide whether I want them to share their time between jobs or not. (I'll re-enable corpse hauling when corpses need hauling, but I tend to avoid the need in the first place.) This is also useful for working out which of the expanded list of dwarves are the ones
about to arrive in a migration wave that's just started, letting me plan ahead before they arrive. An alternate method would be to nickname them all, but after being over-verbose with nicknames (from my pre-Therapist days) I tend now only to nickname my military, and then with either their counterpart civvy job or something indicating they don't
have a civvy job. And I dredge my brain for particularly pithy nicknames (again, after a time of over-verbose nicknames like "Sw12Ma5Pl2") like "Urist 'Lodge' Uristurist" for a military Mason or "Urist 'Stupidboy' Uristurist" for a Pikeman of no civilian skill at all.
When I've finished with specialisations being filled, I sort by the corpse hauling stat (or whatever method gives me my "not yet looked at" list) and review each dwarf that remains. As well as those that are qualified for it, Masonry (towards the end of block making) always seems to be my "dump job" for anyone who hasn't got any skill at all in anything (after pure Hauling or a subset thereof). But that's because I always need blocks, and YMMV. Indeed, in an emergency I'll give most (non-mining, non-planting, non-armoury) dwarves a chance to accomplish some masonry in their spare time. In a
real emergency, I'll even deselect their normal jobs, to encourage them. I have to remember to revert them (or, when suddenly having another need unfulfilled, bring certain dwarves out of the 'block employment scheme' earlier than the rest).
TL;DR; That was a very bad summary (...'summary'... hah!) of what I do, but in an ideal fortress the people tasked to do each job are all of
the best to do the job, none that have lesser (or totally absent) skills and everyone gets something to do. Even if it's hauling. I think that's more or less as Pisskop said. Certainly good enough, given the discrepancy in reply-sizes.