Well, as far as marth goes, I often suggest playing/studying your character weakness by using him for a bit, and learning his weaknesses. For example, marth's excellent punishement, air game, and setup abilities are eclipsed by the fact that he has an average recovery (we don't have it easy either, but something to think about), which suffice to say is kind of gimpable, his moves are incredibly horrible on block, his kill potential can be trumped by other characters (including ours, which slightly can edge his if done right), he's relatively light, and can require a strenuous amount of time for the marth player to learn how to capitalize mistakes on a good player.
If you really want to CP against him though, I'd say MK, and snake, possibly. Honestly, when I was in my "marth" phase, I absolutely HATED the marth vs. MK matchup, it required an extreme amount of patience and reading, and often for some measly gain that could be quickly taken considering MK's advantages nearly beats all of marths (barring Dancing Blade's utility and questionably fair).
Snake, as far as that goes, if you can learn to gay it up with camping, will do pretty well vs. marth.
I'd say though that the best bet is to learn the matchup. Most marths, even pretty good ones (ex. I see Shaya mess up on things he shouldn't in his tourney vids) haven't learned to play against lucario, and it isn't entirely the worst matchup to be put in (but he certainly isn't nice for sure), at least he doesn't have a **** setup or anything like that.