Mario actually has quite a lot of approaching options, it just depends on the character and their playstyle. Approaching with cape/fireballs against characters such as Link works very well, while it doesn't work well with characters like Pac-Man. Cape/fireball may work well for Megaman as well. The challenge with approaching with Cape is that it requires quite a bit of reading, but it definitely pays off to turn a Megaman's forward smash or a Link's arrow back at him and comboing with upairs afterwards. Switching it up with FLUDD to gain stage control is good in almost any scenario, especially against rushdown/fast characters like Mac or Falcon. Campy characters will allow you to recharge FLUDD fairly often, as they play "keep away" very well, but if they have nobody chasing them, it's just a game of "run away."
Shield play is important, but very risky. Falcon and Sonic specifically are notorious for having great dash-grabs and pivot grabs, so hanging around too long in shield isn't a very good option against those characters. However, using fireballs while airborne/shorthopped to break momentum isn't a bad idea, and using Mario's dash if they're trying to rush you isn't a bad idea either. Mario's movement speed increases slightly when he goes down into his dash animation, and can lead to some jukes against characters like Falcon who may be expecting to do his (somewhat) clunky dash attack against you, or expecting to dash-grab you. Luckily, Mario's dash actually combos pretty decently, as long as you jump and react quickly enough. It's hitbox also stays out forever. Don't do it too often, though, as it will become predictable and succumb to shield/grab play.
My hardest characters to approach, honestly, are spacie characters. Rosalina, Marth, Lucina, Shulk, Dedede, and Rob are all incredibly difficult for Mario to get in on. I'm sure there are more, but these just come off the top of my head.