A popular technique to do this is to layer breaks into the beat. These really help fill out the frequencies and give the whole beat a 'groove' as these breaks tend to be sampled from older tracks where the drums are played live. For instance, in drum and bass, a big % of the tracks use breaks such as the Amen, The Think Break, Apache Indian, Funky Drummer etc e.g.
.
A sample CD of some vintage breaks can be found here: http://www.loopmasters.com/product/details/457
If these breaks don't quite fit you can always chop them up using recycle: http://www.propellerheads.se/products/recycle/ and use the .REX file in your DAW to position the hits where you want them. A lot of sample CDs these days come with REX files as well.
If you are looking for a software solution you can use any of the drum romplers available such as
EZ drummer: http://www.toontrack.com/products.asp?item=7
Addictive drums: http://www.xlnaudio.com/productline/1
Rayzoon jamstix: http://www.rayzoon.com/
Jamstix also has algorithms for different 'drummers' i.e. they incorporate a human feel to the drums so they sound less static.
You can then purchase MIDI loops from places such as groove monkee: http://www.groovemonkee.com/en/ and then use them in conjunction with the romplers. These are particularly good as they are not quantised so they have a 'played live' feel to them.