The problem, in a nutshell, is that the OP has never managed an email server. The solution is no secret: postfix, exim, sendmail, or qmail (in that order) with spamassassin, amavis, spamhaus, dcc, razor, greylisting, clamav and occasional bayes db priming. Any ISP doing this will be able to tag and block and/or populate a spam folder with all but 5 to 10 false-negative spams per week.
Anyone getting more spam than should switch email ISPs. This is the real problem IMO, people who stay with incompetent email ISPs (including yahoo, aol, 1and1, att and several other large and small but technically challenged organizations).