Hey Kate,
I asked the same question and received the following recommendations:
1) Add JavaScript validation to the header of your landing pages. This checks to see if JavaScript is enabled on the browser - and, if not, redirects the lead to a page that advises them to do so. Spam bots do not have Javascript enabled.
2) You can also create a campaign based on patterns you notice for spam submissions and deactivate or delete leads which you believe fit this criteria.
3) You can add a hidden field to all your forms and leave it blank. SPAM bots do not know what fields are visible and what aren't so they will fill out all the fields. Humans will not see the hidden field so they will not fill it out. You can then create a smart campaign to remove all leads with a value on this hidden field.
4) You may also want to implement captcha,http://www.google.com/recaptcha, this will often lower the number of legitimate submissions as well, so I would use this as a last resort only.
We implemented #3 and it works pretty well, but we still see what we perceive to be SPAM submissions (e.g. offers for list purchases). I am going to look into #1 soon to see if we can mitigate even more.
I would start with #3 because you can control it yourself and go from there.
Hope that helps!