Just got my second account banned. What was done:
1) Private proxy + private IP (I bought a fresh VPS and set it up myself);
2) Unique device ID and device info for the bot;
3) Unique device ID for my phone and fresh Pokemon app install;
4) Trainer was named before starting to bot, logged in on my phone using the VPS I set up to have the same IP address as the bot;
5) Necro Fork 0.9 with a movement speed that varies up to 8 km /h;
6) Long delays (Player action ~5000 and so on);
7) XP/hr up to 17k/hr - no more;

Not even one soft ban;
9) Botting sessions around 7 hours tops;
10) IP matches the location I botted in (Country->State->City);
11) PTC account was created using the incognito + the same VPN.
There is nothing else you can do actually, at least not with Necro (unless you add some code yourself and compile it - only very few are capable of doing this). Cachem (another bot) is simulating altitude (which might be one of the factors), and has delays for such things as evolving (the animation takes around 25 seconds so its fishy if your bot starts doing something else sooner than this). If THAT doesn't work, its over.