I have a list (.txt) of labors and the number of dwarfs per labor saved right next to the DF .exe. If I play Dwarf Fortress, I also open the .txt. along with DT. As migrants come in, I look at the list of stuff I have / want and assign labors accordingly. I always start with the same list for every fort, but sometimes I'll get more or less of one labor or another (if there's no wood, I get fewer woodcutters etc.)
This takes about 40 dwarves (I cap pop. at 80 prevent FPS death). The rest go into military or "General Labor".
General Laborers do all the hauling and have every non-quality task that is likely to happen in the fort (milling, plant processing, masonry etc.) I have 1 mason's WS assigned to 1 skilled mason "q-P" the rest build walls and stuff. I limit the number of furnace operators I get to no more than 6, unlike some ppl here apparently. The reason is, is that I find 1 legendary worker has more productivity than many novices. Especially if those would be novices are hauling the legend's stuff off and bringing him supplies. Lately I've been experimenting with the cloth industry, and apply the same logic to plant processing, milling, weaving, dyeing etc. (some of which do have quality, but I didn't bother managing it before).
The main thing you want to avoid is Hauling locking your producers. If your woodcutter drags every log he cuts back to the stockpile before cutting another, then he will be very slow even if he is legendary.
There is no labor a dwarf cannot do, there is no dwarf that cannot be replaced. Try not to get too attached.