I can see why they have put hit-detection on the client side, but also appreciate the massive problems it's creating too.
Putting it client side means less strain on the servers & when you consider the spec needed to run just one BF3 server adding to that strain would have meant even higher spec servers (if that's possible) and putting the game out of reach to RSP's & clans/people renting. The increase in CPU power needed to compute & distribute the detection would have melted most servers, irrespective of being so costly.
Flip-side is that at times it gives ****** results to the players & makes it easy for the hackers & script-kiddies to tinker & ultimately cheat.
PB & Admins can only do so much to keep things clean.
So here's the issue. Do we have games with extra destruction/effects that push clients & server hard, yet have expensive running costs. Which we further push by adding server hit detection.
OR
Do we have a game with less destruction/effects yet can include the hit detection server side?
I'd go for the former personally, no matter how irritating it is to players as it pushes game development & hardware development for both servers and clients.