Ah, ok. I thought it would be movement related, and perhps you are doing some kind of shrapnel dodging.
A good way I found to get a balance between the every-tick vs fire-only is to use "time to/from fire" as an attribute, this way you get the fast learning as well as the better targeting of bots that react to enemy fire once you have enough data.
As far as I understood, shrapnel surfing is about simulating virtual bullets and moving away from them by using anti gravity. I tried something like this in earlier versions, but I couldn't make it work that well. Next, I used pure minimum risk movement which worked well. Currently, it is a mix of both positional and wave evaluation.
Thank you, good to know about that time attribute :)
IMO, bots using precise prediction (1v1) can also be called shrapnel surfing ;) e.g. ScalarBot is avoiding some "Virtual Bullets" with equal weights using true surfing, but that works similar to shrapnel surfing with anti-gravity. IMO the real difference between traditional wave surfing and shrapnel surfing is whether you are avoiding some "shrapnel" or just minimizing some probability (mostly from VCS bins or trees).
BTW, are you trying to avoid bullets using minimum risk before recent updates? Or just traditional minimum risk like HOF & Diamond.
There are lots of possible styles of minimum risk movement. I think Diamond detects a new minimum risk point every tick. HOF detects a new point once he reaches the previously detected point. So the frequency of detecting a new destination makes a difference and it can greatly affect your bot's behaviour. What Firestarter did before recent updates was calculating the minimum bullet flight time from enemy guns and updating his destination in that frequency. It is imprecise but it usually tricked all simple targeting systems quite well.