Pikachu is good because pikachu is a terrible MU for Samus. Pikachu plays well against other small characters. ESAM pockets Samus for the Luigi MU and he mains Pikachu in Smash 4.
I don't particularly like ZSS, but she does help cover some bad MUs just because she is so much faster than Samus.
I have been working hard on my Ryu. Ryu has great MUs against some of the top tiers (particularly sheik, diddy, captain falcon, sonic). He is trash against zoners IMO, but we have a pretty good MU against every zoner except ROB, IMO. He struggles against characters with a good multihit game because it makes FA a less powerful tool.
I would avoid using Link. I just think he is bad in Smash 4. I know people think Samus is bad too, but in terms of my overall opinion of characters in the game, Link and Zelda are perhaps the only two with very bad qualities and no tools to cover them up with.
A skilled mario can beat any sheik. JK, but mario is a good all around character. Cape is the best gimp tool in the game once you get good with it.
Bowser Jr. is pretty hard to use. I used to play him more, but he has such a different rhythm than other characters, I sorta gave him up. It's hard enough dealing with Samus' very different play style. I don't know what MUs he would cover for us.