@Xpat - Be aware that if you block server ranges you will also block humans. That's just a fact. You will never know how many humans you are blocking until you do the work.
For example, the highly vilified Amazon sent me over 2 thousand humans yesterday... and yes, I block all Amazon ranges BUT with conditions. Through a series of checks (IP, header, UA, behavior, etc) I allow the humans (and some non-humans) access. This applies for ALL server ranges, and I block thousands of them.
If you are not willing to manually inspect your daily server logs and do the research, don't block IP ranges since you will never really know what is coming from them. Thousands of mobile apps that bring humans to our sites make their connections through cloud servers (Amazon, etc) There are also hundreds of proxy ranges that bring humans within server farm ranges. There are also schools, gov't agencies, social sites & other companies that may be a huge benefit to your site.
You learn this by manually inspecting your daily logs, researching, writing the code & testing. Never, ever cut'n paste a block list from someone else.
Blocking all of them is inefficient and quite an additional workload for your server that could slow down loading.
I disagree about slowing down loading. Done properly, it makes absolutely no impact on page loads. My current htaccess is approx 260KB with about 4 thousand ranges blocked, over 200 rewrites & a couple dozen other lines. The only thing in there that has any impact at all are the half-dozen redirects. Google says my pages load faster than most (or whatever their exact wording is.)
However, I used to think that as well. That's what we were all told 10 or 15 years ago. Possibly it had a bigger impact on pages loads in the past when servers were slower. But there are many articles that disprove that myth today and I have proof :)