Mario is fairly simple once you get down to it, it's just that the match takes a long time and requires a lot of precise spacing. I jab a lot against Mario since it can beat his aerials when at the correct height. If he goes high for his dair (and lots of Marios seem to do that) you can just uair, utilt or back away from it.
Grabbing against Mario isn't too bad if he's bair spamming a lot, just make sure you know how to judge when he's bair -> wavelanding and when he's going to land near you. Grab at his landing position and yay, free damage!
Don't try to spam him since his fireballs can be used faster than your projectiles. Throw your own projectiles as control, not as damage builders. If he's a spammer you can hop in with the nair because the nair is just that awesome.
His edgeguarding is good, but you can recover low against it or try to evade him (I suggest recovering low if he's going off stage a lot). This won't work on a bunch of stages, but you're screwed anyways there. If you hookshot low you can walltech whatever move he uses and still recover. If you upB he'll have at least some trouble getting past it to bair you.
You can't combo him well, but he's not the most mobile character once he's in the air and is thus susceptible to uair juggles. Bombs also prevent him from reaching the ground as quickly as he'd like. If you can pop him into the air you can beat him fairly easily, but if you can't the match will be a long slog where you do damage via the odd bomb and jab that connect while he tries to get close.
He can CG you, he can combo you out of throws effectively (especially the dthrow fsmash, DO NOT DI HIS DTHROW) and he can get grabs or multiple hits off of the vast majority of his moves. The only things Link has going for him is superior range, but that means a lot since Mario has a hard time dealing with it.
Try to pick a stage like FoD against Mario. If he bans that you should just choose your personal preference while keeping in mind that he can edgeguard the crap out of you if it doesn't have a spot where you can hookshot low.
That post got a lot longer than I thought it'd be.
Usmash: Good OOS, useful to hit through platforms you couldn't otherwise hit through. Otherwise it is a move that shouldn't be used. If I use the usmash and am not doing it OOS or when my opponent is on a platform above me it is because I made a mistake. I guess it can sometimes be useful against a quickly descending opponent when you didn't have time to utilt, but that's quite a corner case since it only hits directly above link slightly faster than the utilt.