I don't see an other way to fix this problem excepting using c_trace from the gun. But you can try to use the distance from the gun to the target to calculate the time until the bullet hits the target.
1. shoot
2. calculate distance
3. wait (play with the calculated distance variable)
4. check, if the gun eyes the target
5. animate the blood at the x and y coordinates from "target"