Keep an eye on whether he has a Misfire charged, and try not to roll or do anything laggy when he does.
SDI his jab when you're over 70%, as he may be going for a sweetspot Up-B.
He'll mainly go for Dthrows, but he can't really do anything with it against Mario or Ivysaur. It sends slightly backwards, so either DI forwards then mash out a Nair, or DI back to get some distance. Of course, he might start predicting the Nair, so switch it up with a jump or nothing.
Bthrow is terrible, just DI 45° up-forward and you'll survive if under 200%.
Don't get greedy with punishes, especially if you're at a high percent. Luigi will mash out Nair and completely turn things around.
Most of Luigi's stuff hits vertically, so DI straight horizontal. Be aware of when you're in Fair/Dair threat range, though.
He's easy to edgeguard. When he's far, just challenge any Missiles (even Misfires) with a Bair and you should win. If he's high and close to the stage, wait for him to fall. If he's low and close, grab the ledge when he reaches sweetspot range. Do not forget/underestimate Rising Cyclone; I have saved so many stocks just because my opponent figured I was dead and started their between-stocks routine.
You'll want to take him to a small stage with your characters. WW can be hard for Luigi to effectively move around, but is great for edgecancelling his junk. GHZ's ceiling allows the floaty Luigi to live longer, but he also wants to kill off the top. YS is probably best. Your main ban is FD.