Actual Zelda main with tons of experience in the matchup
Become an absolute master of platform wavelands and general ground to plat mobility and vice versa. Moving around a lot and spacing with Bairs is yor best bet in the neutral. However, do not be simple and repetitive about your bairs (ie. doing bair in place over and over), as this is just asking the fox to slip in during land lag and start a drill shine uthrow->uair combo for a lot of damage, possibly even more uairs, possibly to kill. Basically a good Fox can punish you insanely hard off even the slightest of openings, so trick him up with platforms and bairs. I also like to use run-off or fall-through bairs from platforms, as they cut out short hop lag and keep the Fox on their toes, who likely has no idea what to do against Zelda.
I don't recommend using B to break out of a combo, you can literally get punished on hit in many situations, and if you miss you're free to punish hard. If you have that opportunity, use either your jump or your air dodge to escape. Note that both animations look exactly the same and someone not versed in the matchup is almost always tricked by the two as long as you mix them up as escape options.
Up throw, dash attack, sometimes Usmash (take note of whether your opponent knows how to SDI this) are great combo starters, but always be aware of how far you can take it and make sure to get that Fair/Bair ender in before they slip out of your grasp. Going for that extra hit of damage is NOT as important as ending with the kick and getting them off stage. Sometimes, end your combo even earlier than you know you can, because your opponent will DI for something else and get gimped hard.
Learn how to edgeguard Fox to perfection. Nayru can be good, but be aware that the hitbox is trash (vertically). Kick him out of anything, especially firefox charge up. Dsmash at the ledge. Too low/sweetspot? Dtilt reaches insanely low. Always space your Dsmash at the ledge so that your foot only just reaches the ledge at it's furthest extent, visually this might not seem far enough forward but the hitbox is pretty huge and this will ensure that your leg is covered fully by invincibility. Also know when to simply take edge. I also like to sometimes try to intercept their recovery mid-way with Din's Fire and then combo off it into a kick, but this is more for styling and i dont recommend making it a staple part of your edge guard game. Use up B edge cancels to refresh invincibility when you plan on simply ledge hogging.
Try not to shield too much at low percents, grab will destroy you until high percents.
CC Dsmash is great against his jump in Nair, but if he Dairs a lot you will get wrecked for trying this.
Take note of their pressure game. If it is strong, DO NOT shield grab. You WILL get shined. If it's not so strong, take those free shield grabs and convert into a big juggle and into an edgeguard, which hopefully clears the stock. It's not uncommon for a good Zelda to take a Fox's stock off a single hit.
ALWAYS be tricky with your recovery. Up B to ledge, Up B to on stage in front of the ledge, Up B to a platform, save your double jump and float to near ledge and then jump to up b cancel on ledge, use your air dodge, etc. Mix it up.
You can use Din's Fire if he is really far away to kind of bait him in, i like to start a din's fire and if they immediately start approaching, i release it WAY earlier than i even think i should. Fox is fast enough, he will catch up to it's position right around the moment it goes off. They almost never expect this. Dont do this often enough that they can predict it though.
In all honesty, the matchup should be completely unwinnable. However, it usually can happen for you simply because the Fox doesnt know what to do. As i've mentioned a few times, ALWAYS mix things up. The biggest detriment to Zelda is the other player's matchup knowledge. Mix them up so that they still have no idea what to do by the time they lose game 2 or 3. Get predictable and you will lose.
And lastly, your actual best option. Use your down B.