The only way to prevent this is to use (as you have already started doing) compiled lists of known proxy/scammy IPs. While yes services like blocked will likely provide top-notch service (at a price of course), they have merely done the tedious and unfortunately hard work of of aggregating all the existing free information out there on the vast web, and then of course adding data feeds from their own service as they've grown.
So basically yes you can either pay for a service, often with cost paralleling with quality, or do the work of finding free lists of scammy or known proxy/tor/etc IPs. Rest assured there are 100s of them out there; a half decent place to start your research (because I'm nice) is the blacklists page on dnsbl (Can't post direct link because I haven't been a member long enough, sorry)
Also if you're feeling altruistic you can of course help out by contributing any proxy/spam IPs you encounter to such lists.