It's not hit detection. The phenomenon being discussed in this thread is the standard result of the simplified networking model in use in the game. It's been gone over many times before and no doubt will be gone over again and again until / if Tripwire changes the design on it.
The networking in the game requires you to manually compensate for your latency. What you see when you fire is not what's actually happening - the bullet is really coming out of the barrel a fraction of a second later. You may have a great torso shot lined up, but if the person is moving even the least bit to either side, thanks to the uncompensated networking delay, you're not going to hit their torso.
Even when someone is point-blank to you, you have to add extra lead to your shot and, depending on their speed, you may have to aim entirely into empty space ahead of them to get a torso hit. Aiming directly at someone is, unless they're perfectly stationary, only going to wing them in the arm, or more frequently, miss entirely.
Believe it or not, this isn't a bug. It's working as intended. For some reason, Tripwire thinks this is a good way of doing an online shooter game, even though no other gun-based FPS game has ever done it this way.