I empathise, it is one of the most painful things ever.
My take is that the causes can be: inappropriate holding and trigger technique, grip to small or too smooth, stock too short, any combination of the above.
If you grip too close to the guard, and/or press the trigger with more than the pad of the index finger you will be hit.
If the grip is too thin or too smooth and it does not drag the hand back with it, you will get hit. The solution here can be bicycle tape wrapped around the grip or a refresh of the checkering.
Too short stock is the easiest to fix, add a slip on pad and see how it works.
Those little cushions and pads on the trigger guard did not work for me at all, I still got battered.