Well if you have specialists I literally just make a workshop for each specialist. 4 furnaces = four dwarves, if I find I am not smelting enough, the 5 furnaces and 5 dwarves. Putting your factory complex over several z levels cuts down on space tremendously, so more workshops is not very inefficient.
I put my storage above or below the workshops, but the workshops tend to all be in about the same place. There is very little travel time between the workshops and the storage.
There is usually one or two large, subdivided rooms that house all of the workshops, with stairs leading up or down to storage. This puts all of my production in the same place. The workshops do not have profiles set, but each dwarf has only a certain set of jobs he can do. This means that I usually only have 2-3 metalworkers who perform metalworking, but no other jobs. Not even cleaning or hauling. Then I have about 80 other dwarves doing work where skill is unimportant, like smelting. I usually build around 15-20 smelters so if I need to get something done I just queue it up, and swarms of worker dwarves flock to the smelters and start smelting stuff. This gives me the ability to very quickly get an urgent task done, or if its a long term, ongoing thing I can just put repeat on a task on a few smelters, like melting goblinite or smelting a particular type of ore.
You can see an example of the layout I use:
http://mkv25.net/dfma/poi-17398-factoryfloorIts a very flexible design. Works above or below ground, and storage can be above or below the factory floor.