Alternate between poking, dashgrabs, dash attacks, and tornados.
If he thinks you're going to Dash attack, he'll either shield or sidestep. If he thinks you're going to dashgrab he'll either sidestep or attack. Torando will beat Side and Attack, but if he shields you lose. But once he feels nado pressured he can be dashgrabbed.
This is how you control the matchup basically, alternating between this depending on what marth is expecting. But I wouldn't recommend directly trying to poke as you get outranged on the ground, I'd stay just outside of his range while trying to outsmart him mixup wise.
Pokes on his shield get punished by up-bs. Dashgrabs are really unsafe because you have to approach Marth. Dash attacks I wouldn't recommend either if the Marth is good at spacing. Never use Tornado to rack damage on Marth. He'll up-b if it's used on his shield and if you press B during the nado he'll up-b you out of it.
If Marth thinks you're going to dashgrab, he will grab you or use side-b (simple as that, watch MikeHAZE). Side-b is the safer choice here because he can you cancel it and dash away.
Like I said, Tornado isn't reliable at all. If he feels Tornado pressures him, he should roll away or up-b. Shielding in place or spot dodging is extremely risky and not a good choice at all.
The idea is to pressure marth into thinking you're going to do one thing and doing something else (basically outsmarting your opponent). And If I said use dash attack at all that was a mistake, I know it doesnt work.
This is basically a guide on how to play a good Marth. Try to bait him and make use of this (his up-b for example). I think the most dangerous moves for you in the matchup are side-b and up-b.
I'd recommend spacing against a Marth (just spacing, not hitting). By doing this he won't be able to entirely control the stage. If the Marth likes spacing with full hops, fh fair, dash up to him and shield, whatever he does, remember it and try to anticipate next time. Using up-b get him off stage is extremely easy if Marth full hops to space, wait for it.
Marth can grab release you into very dangerous stuff. I believe it was fair, dash attack (the tipper kills EXTREMELY early), up-b, dair and up smash. So never let Marth grab you.
Many people have been telling you should poke Marth with f-tilt, down tilt or other moves. Do not do this, Marth will up-b you. You should always keep a distance against Marth and try to punish his spacing or predict his SHs and punish with dash attacks etc.
I've also seen people recommend using dash grabs. Well, by playing defensively you won't get those grabs because of what I said earlier. Using dash grabs is also very dangerous. Marth will never run up to you and shield, so don't wait for that either, don't try to grab him out of his approach. It's not like Marth will suddenly use shield a lot because you nado him two times. He has the tools to punish what you do, so don't do this.
I will now proceed with the things you should be doing against Marth.
1. Space, never let him gain control of the stage. You have priority, so if he makes one mistake, you have a free hit.
2. Use tornado to punish (not rack damage) spot dodges if you get him to. Just hitting the Marth is enough.
3. Try to get to know what moves Marth uses in situations and outplay him. It could become a guessing game, but Marth's CAN be quite predictable.
4. Gimp Marth low. Marths tend to recover low and save their up-b. You'll know if they don't. Just get the Marth off stage and drop then dair etc. You know the drill.
5. Safe up-b OoS. This is your best killing move if the Marth is good at spacing.
I might add some stuff later.
I think this matchup is 55 - 45 MK or even. If the Marth reads you and uses moves extremely well (spacing etc.) you lose. I know saying this is risky, but MK doesn't have a lot of options against Marth.