Many Zelda players think that Ness is a tough match-up, and Ness players feel that she's easy to deal with. This fight is actually close to even. He has good aerials to work with, especially his fair, but his shorter range and fairly limited approaches make him easier to deal with. His PK attacks hurt, so try to not get hit by any of them. Once you start capitalizing punishment on those and once you realize that a few of Zelda moves deal with Ness very nicely, things will become much easier for you. Stay grounded and abuse his short-comings.
PK Fire is a lot more potent than we may give it credit for. For one, if it's thrown at Zelda in the air or from a certain distance, Nayru's Love will never hit him back. If you can predict it and you're moving in when he starts the move, feel free to reflect it. The fire pillar can be reflected, but Ness loves to follow-up with dair on Zelda to punish, so just mash your way out of the fire. Besides, you can't reflect it if you're caught in the middle of it because of how much stun Zelda will be in.
PK Thunder is the trickiest thing you have to be mindful of whenever you face Ness with anyone. The tail cannot be reflected back towards Ness - you have to hit the head so he'll lose control of it, but this will be very difficult to perform. You can hit the head with just about any move and it'll disappear, so keep this in mind. Look out for any tricks that Ness may employ. He likes to use the thunder to force you to do something and then kill you by steering the thunder into himself and blasting himself into you. Also watch out when you're recovering, because it can knock you into the stage and send you to death, or it can force you to try to use Farore's Wind again if you messed up once before.
Fortunately for Zelda, she has more than enough to deal with this move. First off, Din's Fire can stop PK Thunder and it can hit Ness. If you're in the air and Ness throws PK Thunder at you, guide Din's right at him. He will never be able to use PSI Magnet in time because he's using PK Thunder. Even if you get hit, you're going to do more to him; Din's will keep traveling. Nayru's can reflect it, but this isn't always needed. Farore's can get you past the thunder if it has been out for a while. You can also warp into Ness to end the move instantly, but be very, very careful because the blasting move has invincibility frames and will override Zelda's attack. For the most part, just fastfall, move away from PK Thunder, and airdodge it. When you're on the ground, it's best to use Din's, but shielding should be enough.
The blasting move is powerful, but once the invincibility runs out (about halfway through), it becomes a much weaker, very low priority move. Shield it and punish accordingly if you want. Fsmash can override it, too. This blast is also used for recovery. You have many options to deal with this. First, you can go off stage and hit him if you know you can make it, but if you're too late, you'll die, so be careful. Second, Din's can be used here to cancel the PK Thunder projectile and kill off Ness, but don't fall for a PSI Magnet ahead of time. Finally, you can just wait on the stage, listen to the move start, and grab the edge to really hamper his recovery.
PK Flash is mainly used for edgeguarding. If Ness knows where you're going to end up, try to stall with Nayru's Love and then warp away from this attack. If you happen to be nearby, Nayru's can reflect it back upon him. He might also use it as an attack when you're above him, and it can do some damage, but this is rare and shouldn't really harm your game.
PSI Magnet might seem to do horrible things to Zelda, but it's not a big worry. Simply avoid using Din's from far away and he won't ever use this. You can use it at closer distances as long as you don't become predictable and you may still hit him quite a few times with it. Ness will try to use this to prevent an off-stage Din's, but just wait for him to move. This is not a big deal and should not be any problem whatsoever. I listed it here because I put the other specials up.
Fair is the main aerial that can really screw up Zelda. It lingers and it protects Ness quite well. You might be wondering how to deal with such a beastly move. Well for one, if you get hit by it, don't fret too much because it's not very damaging. The main thing is to not get hit by anything else after fair. Zelda's jab can stop an approach from this thing. Her fair can also sweetspot Ness through his fair, giving you a very nice trade-off, but it is tricky to perform. Ness players like to retreat with this, but dtilt can reach him most of the time. Finally, Din's can hit Ness out of this, but you have to aim towards his legs to make it work. This move can be difficult to deal with, but after you face it for a while, it becomes less problematic.
Nair is quite dangerous. Ness can use this twice in one short-hop, so don't try to punish the first one. It can KO decently (when it's not decayed badly) and it can be used out of shield. Treat it like fair, except you can override it with your own nair, kick him with something, or hit him with a tilt. Space yourself properly and you can beat this move.
Bair is an annoying aerial, too. If Ness shields your Usmash, except to get hit by this. It kills effectively (again, when it's not decayed badly) and it adds damage to Zelda very quickly. Lightning kicks will trade with this move, but the animation that Ness goes through makes this very difficult to perform, so you're better off waiting a bit and then punishing. Treat it like a stronger, but slower nair.
Dair is your typical meteor, but it also has a late hitbox that sends you horizontally. Usmash and utilt will beat it reliably, so go with those. If you hit the ground, Ness will usually try to do another in order to predict you. Roll away from him.
Bthrow is a powerful killing move, finishing Zelda off at the middle of FD at about 120%. DI up if you're near the edge and sideways if you're not.
Most of his ground attacks aren't highly threatening. Fsmash can really lay the hurt down, but it's laggy and Ness tends to avoid using this. Capitalize on a missed Fsmash. Usmash will be used to get you in the air and to protect Ness from aerial approaches when he's grounded, but this should never be happening. Dsmash is a decent killing move, but otherwise not too deadly. Dash attack can place you in a bad position, but your Fsmash can outrange it... a bit. His tilts are quick but they aren't really deadly. Dtilt might trip you, but at lower damages Ness will try to rack it up on you. You can dtilt him right back if you're not at a higher damage. Ftilt isn't special. Utilt is disjointed, so don't try to beat it out. Mainly, watch out for grabs and SH aerials.
Zelda players should realize that her Jab, which is normally ignored, is a wonderful tool in this fight. It is great for stopping approaches, mainly short-hop approaches... and that's really what Ness is about. Dtilt stops the rest of his approaches for the most part. Ftilt and Fsmash outrange Ness big time on the ground and can be used. The rest of your arsenal is common sense. Edgeguard him aggressively and just keep him from approaching. He can't force you to approach into his comfort zone, so don't willingly do it often.
You can take him to Yoshi's Island if PK Fire is a problem, but this isn't really Zelda's best stage either. Battlefield is nice because his actions become easier to read once he's underneath a platform. It also screws with PK Thunder a little. Green Greens works very nicely against him. It limits his approaches even more, he can't camp you with PK Thunder, and he dies very early. Just don't get f-thrown by the edge.