So after getting a bit more tournament experience under my belt, I feel like perhaps I can throw a few thoughts into the mix.
Let's start with accepting that Lucario is bad at approaching. He doesn't have any incredibly safe disjointed moves (maybe you can count dtilt if you are feeling your oats) for use as pokes, nor any really fast poke 'n' run options (read: nairplane), and unless you connect with... well, anything, most of his moves are met with an easily punishable endlag. In all seriousness, your best approach option is probably going to be an positional pressure. DD near your opponent, throw BAS (and then get in closer using the cover it provides), moonwalk>bair (favorite tool: style points + some safety), throw cautious fairs (use the move early and pressure with the late hitbox). Your "approach" should be on an opponent that has overextended even slightly more than their character can manage. In all honesty, your objective in a set is to convince your opponent that they should go into shield instead of swat you away when you approach, as once you've done this, your opponent has stopped moving, you now have ready access to FP during approach [Note: Be matchup wary! Characters with strong OoS options are best treated with respect.], and you've probably made the set loads easier on yourself.
So what about patient players? I've not really had to face anyone who has chosen to wait out Lucario yet, but in these cases, you will likely have to approach with one of the options that have been mentioned in previous posts, but even then, you'll be trying to bait attacks out of them.
For surprise approachs: DTC>Fsmash, Nair crossup (with expectation to land on shield) [>FP if viable.], DT crossup, late hit DA>DT for a pressuring crossup, DD>grab, fullhop>AB crossup (This should only be done after applying serious positional pressure or forcing your opponent into stagger. Even then, I would advise against using this.), or for shield pressure a mid-hit DA>dtilt>usmash(1st)>FP/DT[Depends upon enemy OoS] (Note that this isn't a perfectly safe option and can be buffer rolled out of).