Wavedash (WD) approaches
WD -> DSmash: This should be a go to approach option. DSmash is a fast move with good range and damage. In addition it can often be used in combos (against fastfallers you can sometimes DSmash into DSmash, against other characters the Dsmash pops them up an ideal height for an aerial followup). Plus your opponent may be demoralized due to Luigi being able to breakdance better than them.
WD -> FTilt: If you want a fairly safe move to poke your opponent with then look no further. Due to a mixture of speed, damage, and priority it is the best move for tacking on a bit of damage without too much danger. Just be aware that if this move is crouch cancelled you'll probably get punished, at least at low %'s. This move can also be used on someone near the edge to push them well off and put you in an edgeguarding position. This is probably one of the most commonly used moves out of a wavedash. Be aware that it is very important to properly space this move. If the tip of your foot hits their shield there should rarely be a way for them to punish it (thanks to Cubelarooso for pointing out that a down angled FTilt causes extra shield damage), but if you get right next to them the endlag of the move will spell your doom. Slightly.
WD -> Grab: Pretty simple but no less effective. If your opponent is shielding or you think they will be, this will get around it. With a WD -> Jab -> Grab you can grab in certain cases where you otherwise couldn't (perhaps if your opponent was also going for a grab, or if they were going for another out of shield option). Due to Luigi's great grab combos any way to land a grab is swell.
With these three mixups alone I believe that you'd have the basic Luigi approach tools (though you should almost definitely throw in Down B, mentioned later in this post). Still, there are legions of other approach methods that will probably improve your game if you incorporate them, such as...
WD -> USmash: Is your opponent above you? Do you think they'll jump, perhaps for a short hop aerial? This approach should be considered if so. Considering that Luigi's head is even invincible during a part of the attack it can sometimes even get your opponent through their attack without you having to resort to trading. Outside of crazy up B combos this is probably Luigi's best way to KO off the top, so it's great for floaties. If you USmash while facing away from your opponent you'll be able to hit them with the very beginning hitboxes of the move. These beginning hitboxes actually have really good horizontal range, and even can hit grounded opponents, which can make it a nice unexpected KO move when used in this reverse fashion.
WD -> FSmash: Situational, but I believe it has its uses. Like Mario's FSmash, Luigi's arm stays right by his side until right before the hitboxes come out, so you can avoid your opponent's attack and then immediately hit them with this strong move. There is also a weird thing you can do where you make the FSmash completely halt your wavedash momentum, which can get you in just the right place for a charged smash hit. Also the chop sound is A tier for sound effects.
WD -> UTilt: Difficult to land due to a somewhat slow startup and odd hitboxes, and I'm not quite sure it's even worth it. If you CAN land it though it makes an excellent combo starter. One way I've found to make it work is to WD from the ledge with invincibility frames right into this move.
WD -> DTilt: I have no experience with this approach, but I've heard it can be used to shield poke. Due to the hefty damage it causes that alone might be worth it. In addition hitting a shield will push you a safe distance away while also doing HEFTY shield damage. Essentially use this move if you expect an opponent to shield and you would rather get shield damage/poke than a grab. (Thanks for Cubelarooso for mentioning the shield damage aspect).
WD -> Shield OR WD -> Spotdodge: Both serve a somewhat similar purpose as far as I know, basically a way to approach your opponent when you suspect they may attack. WD -> Shield seems safer, as your opponent may not even be trying to attack you. In addition you can often get a shieldgrab if they hit your shield. If you know that your opponent will attack however and you time the spotdodge well in the WD -> Spotdodge option, then you will be able to retaliate without having to worry about shieldstun and shield knockback. One other advantage of WD -> Spotdodge is that it can be used to get right through Ness's grounded PK Fires, which leaves you a free punish due to the grounded PK Fire's large endlag.
WD -> Short hop -> Fair/Bair: Due to the speed and range of these moves they can be great out of a quick wavedash. They are unsafe on shield but there are ways around that. After the Fair/Bair you can waveland away to safety, waveland towards your opponent if you think they'll roll/WD away, or you can use a second Fair/Bair before landing to stuff their out of shield option.
WD -> Dash -> Jump cancelled grab: Like WD -> Grab from above but lets you achieve more precision and/or distance.
WD -> Up B: You've got guts kid. If you get a really good read you can perhaps make this work, but the vast majority of the time (I think) Up B as an attack is more used and simply better for punishment than for approaching. The big risk of this move combined with the low chance that you can hit someone while approaching with this are the reasons for that.
WD -> Misfire: More useful than it may seem. The misfire isn't actually too fast, so getting closer before using it gives your opponent less time to react. Also on short characters if you don't WD towards them you may soar right over their heads.
Cubelarooso also mentioned the following approach-
WD -> Jab: "It's fast, has fair range, and can hitconfirm into a whole lot of stuff, and if you WD fast enough it can be used to cross up".
Other approach options
Fireball -> Waveland: This is a bit tough to do, as not only is the timing weird but it's pretty strict as well. It's really good however for a number of reasons. If you want to create space to approach later you can fireball and then waveland away. If you want to close distance somewhat safely you can fireball into a waveland towards your opponent. If they shield the fireball you can grab or jab -> grab. If they clank the fireball with a move just smack em with something (Luigi does have a lot of options).
Down B: A really great move, and another go to approach. It rapidly moves Luigi left/right, clanks with most projectiles, and when it does so you quickly regain control of Luigi. This means that you can use this to advance through projectile spam. It closes distance quite quickly with a lasting hitbox (sorta) so you can hit an opponent from far away, and then if you hit them you can mash b a little to connect with a 2nd hit of Down B, which will then lead perfectly into an aerial that lets you oust your opponent from the stage, which will then give you an edgeguard chance. It can also be used as an unexpected combo starter. It's also fairly safe on shield since if you mash b a bit after hitting a shield you'll usually be high enough where your opponent can't hit you after shield stun.
Dash attack: Please no. This move apparently has some niche uses from what I've heard but using it as an approach option is probably not one of them, due to being one of the most punishable moves in the game. If you know of a good time to approach with this move I'd honestly be very curious to hear it. EDIT: I've read (I believe from Broasty) that this is a great move to use on an opponent who is near the ledge with their shield up, as it will force them off.
Misfire: Usually better as a punish option, but it can work if you get a good read. It's very easy to react to from a distance so make sure it's a REALLY good read unless you're really close to your opponent, as misfire is easy to punish if shielded/reacted to in time.
Did you know that you can B reverse things while on the ground? If Luigi wavedashes and then B reverses a fireball while sliding it'll change his momentum just like it does on the ground. This could possibly be good for approaching but probably isn't, though it does have spacing applications. EDIT: After messing around I have found that doing a b reversed misfire can be a very janky looking but practical approach. It can be used to misfire directly next to an opponent after having just wavedashed away or to weave in and out while suddenly throwing a misfire into the works.
Edge invincibility usage: Luigi can wavedash to the ledge almost instantly. When hanging onto the ledge Luigi is invincible for a short time. Combine the two and Luigi can become invincible at any time he wants so long as he is close to a ledge. Let’s say a Marth player has you pinned to the edge. You can use this trick to turn the tables on him. Wavedash to the ledge and then let go -> DJ -> waveland onstage to slide towards this pesky opponent with complete invincibility. Feel free to barrel right through their move with any option you desire.
Anyways that's all I can think of for now, though I may edit this post later if I remember something. If I didn't mention something I either didn't remember it or didn't realize it may be important, so feel free to bring it up. I hope this can be helpful for anyone having trouble with this part of utilizing Luigi. May your shoes be ever buttery!