Budhappi--
As I mentioned, my method is complicated. But, now write every access to .php file (i.e. Wordpress) to a a 15 minute log file. At the end of 15 minutes, I runs a cron job that looks at the logs and bans every IP with these things in it:
$bannedSpiders=array("brandwatch.net","huaweisymantec","Ahrefs","SiteBot","baidu","yandex","CydralSpider","Cydral Image","Aghaven/Nutch","/Nutch-1.2 ","aghaven.com","linkdex.com","bazqux.com","getty","googlealerts"," spider ","
http://intensedebate.com/","gettywan","CoverScout","tineye","cmsworldmap.com","web-sniffer.net","(IBM EVV/3.0/EAK01AG9/LE)","Windows NT;","Windows 3","Windows 95","webinator","thunderstone","t-h-u-n-d-e-r-s-t-o-n-e","proximic","picsearch","java","Extreme Picture Finder","BPImageWalker","doubanbot","curl","reverseget.com","RGAnalytics","CoverScout","wikio","python-urllib","Powermarks","KeywordSearchTool","Chilkat","ahrefs.com","panscient","liperhey","Webster","sosoimagespider","bpimagewalker","CCBot/1.0","Daylife","xrumer","xpymep","mail.ru","mozilla/picgrabber","psbot","NSPlayer","vlc/","TraumaCadX","upictoBot","PHP/5.2.10","
http://mattters.com/","commoncrawl","pixmatch","Copyright","abot","aipbot","image","pics","pict","SNAPSHOT","naver","sogou","soso","magpie","Netseer","Mozilla/0","Bitvo","pipl.com","
www.80legs.com","benderthewebrobot","Semrush","WordPress/3.4-alpha","Wget","Pixray","mlbot","MJ12bot","
www.accelobot.com");
I think you can see that quite a few are obviously image bots. Heck if it's got "pics" or "pict" in it, it's out of here! "pix" onl y gets caught in pixmatch and pixray. Note also things containing 'getty', tineye, (Note some bans are redundant. I've done little to make this particularly efficient.)
Some are things that showed up when I started banning picscout-- and which turn out to be particularly effective at processing images. These include ""NSPlayer","vlc/","TraumaCadX","
I'm tempted to ban anything with "alpha" in it. (That Wordpress/3.4-alpha thing was really going to town asking for the same post thousands of times at a rate of... on... more than 1 per second. Banned!) The code also bans anything that give NO useragent. (This bans IPs for the imageExchange add on.)
Some of the banned agents are SEO bots. They can be voracious; example: brandwatch.
Some are generic copyright bots: googlealerts (which is copyscape, not google).
I also have bans for certain referrers.
I also have a real time module.... And some bans in .htaccess! But the list above is a good start for things to block by useragent.