Yes like flaco said, punish him for his missed attacks. Not only the fsmash that flaco mentioned, but also the neutral b and counter because they all are laggy moves to recover from. Use dash dancing a lot, dash in like you are going to attack and dash out, same with wavedashing; this might provoke him to use one of those moves than you can dash back in and punish him with a grab....or wavedash in with a forward smash, whatever. Just move around a lot and don't be predictable because it sounds like he is very predictable.
As for a counter character, because IMO marth dittos are pretty gay...I'd say sheik and falcon are the two characters in the game that have the upper hand against marth. Falco, despite what everyone says, really doesn't have an advantage against marth, it's a pretty even match and based on stage selection really.