If I would solve something like this I'd prefer to make it this way:
1) found the point of bullet hit with a raycast;
2) get the random point around the original point inside some small radius;
3) increase or decrease this random search radius depends on your tasks.
This way you will have accuracy independent from raycasting object, camera, e.t.c. And you will be able to precise manipulate accuracy with search radius (float variable )