Well then it will be only cancelled. It isn't perfect, I know. Ill try to improve it more though.
Basically:
If the damaged is the shooter self, damage is cancelled and from shooter's eye location is increased 5 blocks and checked on each block if there is entity on 0.75 range and if is then entity gets that damage which shooter was going to get.
Thats just basically ^^
Hey!
I have made plugin called Projangtile which fixes this bug until Mojang fixes it.
It cancels self damaging and damages the real victim like in 1.8 or below.
https://www.spigotmc.org/resources/26823/
This works with CrackShot only though.
DeeCaaD
Yeah, I added right after my comment to projectile metadata which is set after 3 ticks of shot which fixes that.