Check out Dwarf Therapist. It's a third party program for assigning labors to dwarves (as well as some cheaty things, like assigning labors to babies and children). It'll help you stay ahead of the cheese maker/fishery worker influx from migrant waves and keep everybody with useful jobs.
Assuming you have everybody assigned properly, with or without Dwarf Therapist, the only way to keep everybody busy is with constant work. Here's a few Band-Aid fixes:
Make a ton of mason's/craftsdwarfs' shops and mass produce blocks/crafts (though you may need the raw materials later, so be careful)
Smooth everything (just make sure "ENGRAVINGS_START_OBSCURED" is set to yes in the d_init.txt file)
Dig out everything (though this causes other problems in terms of lag, so I wouldn't go with that)
Plant gathering (no downside if you have the storage space)
Wood chopping (though this will piss off the elves no downside)
Cooking your food into stacks (if food is your main trade resource, don't do this)
Those are all band-aids as I mentioned, as they rely on mostly finite (or at least slow to replenish) resources; for a sure-fire, no-nonsense, always-works solution: naked wrestler army. This uses no resources, and keeps everybody busy tumbling around the barracks floors, and it's a self solving problem when they actually go out to fight the spray-tanned adonas bronze colossus.
But there's no real downside to idlers, other than the dissatisfied at work thought, if you handle the idlers correctly, which is all discussed under any tantrum spiral related thread.