From what it sounds like, you play the same Fox player over and over again. Thus, he knows your playing style inside and out and can quickly react to anything you're doing, pretty much all of the time.
I'd recommend making some sort of change in the way you play Marth. If you have to, sit back a bit and put yourself on the defensive. Be a beast with the wavedashing, shorthop lots and spam lots of annoying forward-airs to ensure that Fox doesn't get in too close. Remember that Marth has the range advantage over Fox (excepting Fox's lasers), and you should milk that as much as possible. Make sure you keep distance between you and him, and if you have to, work on EVADING the Fox player. You can often trick opponents into attacking riskily when they see that you're trying to avoid them or play defensively, especially when they're comfortable with the match, as your Fox opponent evidently is.
The bottom line right now is that your Fox opponent knows your game too well. Even if you're trying tactics that "should work", he'll always be one step ahead of you and be able to predict your next move, like you said. The smartest thing to do, in my opinion, would be to force that Fox player to COME to you. Harass him with short-hopped forward airs, and if he's big on dodging, just forward-smash him to heck and back after he dodges. If that's too difficult, try throwing him after he dodges - that chain throw of Marth's can lead to 0%-to-death combos in some cases. Again, if you get the sense that your opponent knows what you're doing, retreat from the attack and play as defensively as possible. Watch for stupid mistakes your opponent will make trying to get to you, and in the meantime, watch their playing style and see if you can read into them. That's probably your biggest obstacle (as well as mine and many other players'): learning to read your opponent, while not allowing them to read you. It's what Smash is about.