It doesn't matter how hard a character is to use, it comes down to what they're capable of at their greatest possible potential.
Crazy hitboxes aside, Snake does have some vulnerabilities to quite a lot of cheesy stuff.
Lucario can force palm chain grab snake up to 90% at the start of a stock, drop him over the edge with a grab and pummel, then attempt to gimp his recovery from there.
Wario can go right off the stage and eat snake's Cypher.
Ness has quite a few ways which he can annoy snake using PK thunder and his good pressure game.
and I'm sure there are others.
Now people complain about Ftilt and Utilt the most, but these attacks really don't seem completely safe to me. Unlike Metaknight's swashbuckling sword swings, he does have lag at the end of these moves, and they CAN be punished, especially if you're playing a character with a fast dodge roll.
The mortar slide is annoying it's true, but I think it's nothing compared to Pikachu's QUACK madness.
Snake is a fantastic edgeguarder, but for the most part, he is incredibly easy to edgeguard himself. All you have to do is get him to use the cypher off stage, and repeatedly knock him away until he's close enough to grab. Easier said than done, but his recovery is still a very exploitable weakness.
And of course: all of snake's grenades and mines effect him as well as the opponent. Reflecting grenades actually can be quite useful since as far as I know, he can't use the neo trick to effect reflected grenades. I've also managed to grenade counter a snake using his own grenades, although that doesn't happen often against good snake players.
Basically, rather than complaining about how broken Snake is, go out and actually learn to play him yourself. That way, you'll figure out how to beat him because you have an understanding of the character and all the tricks that he uses, as well as being able to use some of his own techniques against him.