To answer your question, 40 is extremely low. Either your checking process isnt tolerant enough of slow Proxies, or you arent checking a decent list. You are basically after Proxies which arent Gateways, so therefore you should be able to get around 150 at a time without too much trouble.
It may depending on the system you are trying to fake be possible to use Transparent Proxies aswell, it really depends.
To explain what a gateway is, a host can have many IP's, so lets say it has the following:
192.168.0.1
192.168.0.2
192.168.0.3
192.168.0.4
192.168.0.5
So the Proxy listens on all the IP's. Now the problem is the Proxy only has one external IP. This means all outgoing traffic is from lets say 192.168.0.2. The problem is as far as web servers are concerned, no matter what IP you use, it only ever sees the same IP. Hence its only one hit.
Remove the Gateways and you have yourself a 'unique' list
