The simple answer is that you can't but you can reduce your risk by following these tips:
1. Never click the 'click here to be removed from our maling lists' - these rarely work (unless it is a service you have actually signed up for) and actually make the problem worse by demonstrating that your email is a valid one.
2. Use a fake email address when signing up to things (either using an address from your domain or spamhole's service).
3. Use a contact address on your site different to your main address and think about using some kind of form based conatct page so that your email address is never visible or try and encode it so it is difficult for robots to read it.
3. Report any abuse.
4. Avoid HotMail.
5. Have a look at SpamNet - it is a kind of community effort in identifying and blocking spam.
-------------------------------
If you live in Europe the new e-commecre directive means that spammers have to allow you to opt out (stronger 'opt in' laws are in the works).
The Direct Marketing Association have an E-mail Preference Service which allows you to opt out of spam from commercial sources that abide by these guidelines
SpamBayes - a free Open Source plugin for Outlook Express - it needs training but ocne trained it is at least as good as any commercial product. If you use OE and don't have any filtering them you need this!!
spamhole - an excellent service which offers a short lived email address which you can use to register for things.
SpamNet - a fascinating project, a little like distributed spam fighting. The whole community pools its resources to create a list of spam to block. Well worth keeping an eye on.