I generally remove all activities from my dwarves as they arrive in their migrant waves, leaving them with only hauling jobs allowed, and then on an as-needed basis switch off their hauling jobs and give them semi-permanent industry jobs. Usually, one they get an assignment it sticks unless I have a lot of deaths at once and need to reorganize my workers to cover necessities (food production, brewing, and the like.)
With my current brand-new fortress I intend to use a new system which will work with this system where instead of full-time military dwarves, I will have squads who are periodically assigned to stand in the danger room or to kill things, and when they are 'off-duty' (not given orders) they are haulers. They would never be put into a general 'active' state, since giving a kill or station order will activate them for the duration of the order.
My reasoning is that if my hauling suffers during a siege, so what? It'll be over quickly as danger-room-trained dwarves tend to mop up most sieges.
I usually try to assign dwarves to jobs in this sort of manner:
Low-priority production - one workshop, two dwarves.
Medium-priority - Two workshops, three dwarves.
High-priority - Three workshops, five dwarves.
This tends to keep all of the workshops in use, with a minimum of idling industry dwarves and a minimum of unused workshop-time. Once I've gotten up to the 3 shops / 5 dwarves level in a particular industry, it's time to start branching out into a new industry.
I usually leave the wood-based industry less developed until I get the smithies running, but of course this is all heavily dependent on magma access and number of trees on my map.