precognition problems
First of all, knowing what someone else will do does not equal a perfect reaction. Think of it like this. I have a ball launching machine. You can catch a ball in midair by clapping your hands together at the right time. I give you the exact time, speed and everything else you need. Can you always catch the ball? The answer is no, you cannot. Precognition only means you know what is going to happen, giving you time to plan. Plans do not necessarily pan out. They can be wrong, or wrongly implemented, or simply physically impossible to enact.
Take the 'no projectiles' example. However much precognition you have, at a certain time the arrow goes too fast from a too short range to deflect or evade them. There simply isn't enough physical time, unless you weren’t there in the first place. As someone is aiming at you right then and there you've already lost.
But let's say this is magically solved by the precognition spell. What then?
Time to be alive
If both persons have precognition, you'll not have a perfect fight. Both of them have strengths and weaknesses that can be used to win. Say one is stronger than the other. You can use ut to quickly tire the other out, using your strength to overwhelm your opponent. Maybe you are quicker, or have more reach. Even if the first so many moves do not kill, at one point someone moves in a direction that sets them up for winning or losing the fight. You do not yet see that a stone near you is something they can inevitably push you on, making you lose balance when this suddenly turns up. And then nowhere out but defeat.
We can take this further. Each instance of movement is a new precognition, so it costs time. You only see and understand the next move in a new instance. Based on that you make a new decision. So between a precognition and a decision is time.
People commit to actions in that time. If you're already swinging your axe you have very little other options to do. That means a commitment narrows down the options for that person, which can be taken advantage of. Or if they commit at the right time, nothing the other can do can result in an evasion or deflection. Maybe it just pushes someone off balance, which can be exploited again.
But finally, you still work with humans. Humans can make stupid decisions. Yes they see some outcomes ahead of time, but how can you tell if this will be good for you? Maybe you get blinded by an opportunity, moving in and unbalancing your opponent, realising too late you'll get your back against a wall and they will tear your heart out shortly after.
Perfect battles do not exist with physical and mental limitations and advantages.