I believe Google actually requests that you actively monitor your sites traffic and filter out as much as you can. I read a post on the adsense blog about this the other day.
I wrote a script that connects into an API for a database of suspect IP it then disables links or displaying google ads.
Yes if you use an affilaite program like EPN which uses a CPC based program, you should definitely block as many bots as possible as they will deminish the quality of clicks and therefore the value of click.
For a program like Amazon Ass it shouldn't really matter as you're paid on products sold.
Get a current list of bots from Google and add them to your robots.txt file in this format to block single known bots: