I suggest reworking the throwing accuracy system. The "dropoff", "minRange", "maxRange" parameters should work for throwing exactly the same as for shooting. Also, the new parameter "throwRange" and "underwaterThrowRange" should work similarly to the parameters "autoRange", "snapRange", "aimRange", but for throwing.
To put it simply, we need some kind of throwing accuracy system that would reduce accuracy depending on the distance and environment.