I think the issue in games like CoD that knives are swung so quickly, and come out and in again in a stupidly short amount of time, so the sniper, as soon as he detects an enemy at close range, can switch from shooting to stabbing instantly. Compare this with TF2, where the melee attack is a completely separate weapon, so if you want to slice someone up, you need to take a second or two to swap over to it.
If we consider a basic sniper vs melee scenario on something like TF2, where you've crept up on an unaware sniper and plan to beat him over the head with a fish or something, even if the sniper turns around before you get a single hit in, you're still at a situational advantage because he either has to use his sniper rifle at close range, or spend a couple of precious seconds to put his rifle away and pick up something more appropriate. Compare that with the most identical scenario we can produce in CoD, if you outwit a sniper but, for whatever reason, he manages to spot you the second before you make the knife kill, the long range specialist instantly becomes as good at fighting close range as you are by being able to make the near instant knife swipes.
I don't think that one hit kill knives are a bad idea as such, but allowing people to make knife strikes at a moment's notice regardless of what they were doing isn't my idea of fair play.