Read this guide, I implemented some of the rules in here and you'd be surprised at how much my spam cut down. It covers topics from domain/ip blocking, HELO/EHLO forging, pipelining, etc. The nice thing about it is, most of the mail will get rejected with 5xx series error codes so they should (in theory) stop trying to send the spam your way and it gets blocked before it get's accepted, which is nice since it cuts down on what spamassassin has to munge.
THe only DNSBL I use though is the sbl-xbl.spamhaus.org list, it seems to be working pretty good as well.