However Punisher did manage to hide a weapon from him.
Which is why it's impressive.
His senses can be overloaded. And with no heartbeats from the Hand, he was less than worthless.
He listened to their breathing and the sound of their swords and did just fine.
His powers can be tricked or circumvented. How does Punisher make Holmes-avision suddenly not notice everything about him and give Holmes an instant way to win?
The same way he did it to Daredevil without ever knowing DD had powers.
Keep in mind, Holmes was taken off guard a few times in the movies. For instance, he didn't expect that gypsy chick to throw a knife and stab the assassin when they were at the casino.
Also, the big dude in the first movie had him on the run due to just being a big dude that was hard to hurt. He wasn't invincible.
He's like Victorian Era Midnighter.
That's a bit of an exaggeration. He was able to figure out the moves of random mooks or that pit fighter. We hardly saw him go up against a skilled fighter besides Moriarty (who was dangerous because he had Holmes' deductive skills, otherwise, he was just a boxing champ).
But OP says this is h2h only so this whole sub-argument is moot.
I know this because I am the OP.