Sure is misinformation in here...
May aswell clear some of that up...
1)
All stats of the weapons can be changed - recoil, number of shots, damage, spread. The things that are undetectable at the moment AFAIK (I have been MIA for a while) are recoil and spread. But hey, if the server isn't set up to detect these things, then enjoy your shotgun that shoots in a 360 degree spread with 10000000 shots, I know I do!
2) It is possible to switch weapons dynamically, eg I bind r (I use q for map and e for reload) to "toggle weapon" which allows me to swap my main weapon between semi/smg/shotgun. So "hackers only use X weapon" is not even a little bit valid. I could appear to you to be using shotgun but really be using SMG...
3) Aimbots can aim anywhere. If they aim slightly up or down to the center of the head then most aimbot scripts won't think of them as aimbots (snap detection).
3) While we are on the subject of snapping, it's possible to send a quick fire of IO packets and tell the server that you moved the mouse in a supersmooth arc to the target - even though it takes less than a millisecond. This will fool aimbot scripts.
4) Aimbots do not have to be within range / line of sight to kill you. This one is a funny one, people always think "if they can't see me they can't kill me" or "if i'm on the opposite side of the map they can't kill me". Well, sadly this is false. They can teleport themselves, they can ghost (server thinks you are staying still but really you are moving on the clientside), they can even
teleport you - or even better,
EVERYONE.
5) Hacks are of course not limited to guns. Obviously you can kill people with
shovels and
grenades too.
6) Aimbot scripts are EASILY fooled and make MANY false positives. I don't trust them, and you shouldn't either.
7) There is no surefire way to detect aimbots. As a test I made a bot that will "lock on" to an enemy if you put the cursor near them. Even using a default aimbot you can easily just use it smartly and sparingly to get 100% accuracy and 500 KDR while appearing to be 100% legit. Just don't run to the enemy spawn and kill everyone in sight instantly... I would not be surprised if there was a large number of "good" players who used aimbots sparingly. Since it is undetectable and won't even arouse suspicion if used well there is no reason not to suspect this!
TL;DR: You cannot detect aimbots, so don't even bother trying. It is much more likely that the suspected aimbotter is just better than you. Leave aimbot detection to the admins - it's their job to find people who break their server's rules, and so they are experienced at stalking and thinking.
Personally I find aimbotters by teleporting 100 blocks directly above them and seeing if they instantly shoot me down, but I wouldn't recommend everyone starts using teleport and fly hacks to find aimbotters, that would not be a good solution at all!