For dash attacks, shielding is your best option, especially in a Marth ditto. Simply put, since Marth naturally lunges toward his opponents on most of his attacks, if he is not careful, he usually gets with shieldgrabbing range (especially true for characters such as Dedede, ROB, and others when good grab range). Since dash attack has the most lag sans Up+B, just shield it and grab him. Punish accordingly afterward.
If he likes rolling behind you, do a Dtilt to force him to do so, and then as the lag from the Dtilt ends, quickly move back and do side-B. If he rolls away, simply pressure him to the end of the stage with side-B, F-tilts, or F-air. If he has projectiles, just simply walk and shield toward him, and if he rolls behind you, punish with Side-B.
Spot-dodging is usually overcome by Side-B since sidestepping causes them to stay stationary while being w/o a shield for a second or so. Dancing Blade retaliates well here. If he sidesteps from the third hit of side-B, do the ending strike down for the sword rain.
Depending on the height of his airdodge, you can simply follow to where he will land, or do Uair, or Fair. Punish accordingly.