I wrote my own statistics logging script. It excludes a lot of bots - ie any user-agent that contains any of the following is excluded:
bot spider crawl saashub owler researchscan go-http-client newsblur python-requests alittle client hypefactors dalvik duckduckgo electronic frontier foundation lwp::simple lenns.io magellan qwant yahoo saashub cfnetwork curl facebook montastic
I would imagine that there are lots more but not enough to make a massive impact.
Anyway - this script of mine is just a PHP function that writes a line to a logfile. The logfile is then parsed when I want to see the stats.
The thing is - it reports an awful lot more than Google Analytics did - over 2000 for my script vs a few hundred for GA. Is there something I'm missing?