Used to have a problem with this MU until I got past a certain block. Remember, just because it's a supposed BAD MU doesn't mean you drop your guard or expose autopilot or bad player tendencies. There are a lot of characters that will kill players who do this (Sonic comes to mind).
If you get the timing down, you can FH/SH fair when he tjolts and you'll cancel out the jolt and hit pikachu in the process. They're also shieldable, but you have to watch out for pikachus that consistently FH jolt without any lag, they can get a couple of followups if you're too slow.
always DI usmash/utilt/dsmash (they'll sometimes trap an air dodge with dsmash and make it so that they pop you up with the last hit so that they don't have to worry about SDI) so that he has to work for thunder kills. Don't go on autopilot and momentum cancel, wait until you hear "Pika!", then air dodge. AS at higher percents will blast through tjolts and sometimes hit pikachu while he comes back down, at higher percents, the outcome of who approaches who changes.
The real reason Pikachu has an issue with lucario is that nearly everything Pika is good at either doesn't work well against Lucario (ex. CG), or involves a loooooooot of risk for incorrect guessing (juggling), whereas Lucario can afford to play a very basic bread-and-butter playstyle with fair, AS, jabs, and the occasional fsmash without too much trouble. He can still overwhelm you with speed and uair strings, and edgeguard pretty well though, don't forget that Pika still has incredible tools that you shouldn't underestimate.
If he tries to hit you with thunder while you're offstage, dair stall right next to the bolt so that you don't get hit, then immediately AD through it when it ends.
You don't want to get comfortable with whiffs even if they're tilts/lower lag moves. Pikachu is good at punishing whiffs, although only gets small reward for it. If he FF fairs, depending on where he did it, he has enough frame advantage to utilt/grab you, so usually the best idea is to roll away oos or hope for the whiff. If you're in the air and you get hit, pop out and dair it.
We generally beat pikachu in the air. Pika's aerials are all pretty good around the ground level, bair has a deceptive amount of safety in it (it's still pretty punishable, but don't expect to punish it all the time), and nair has a deceptive amount of range (dair and bair both have ground hitboxes when they land, so don't let up shield before they land to try and punish).
uair strings are pika's response for you being dumb in the air with your options/patterns. Be less "Actionary" and more "Reactionary", especially at higher percents.
Also, imo you shouldn't try to commit to edgeguarding pika too much, best investment of your time is to charge AS. AS is a great tool for punishing him for a quick kill for most of his high commitment moves (even the non-killing ones), and QAC gives him a lot of options when he's on the ledge, the best thing you'll have a chance of hitting him with is uair usually, but it's rare.
Avoid playing against Pikach with Halberd imo (although haven't really tried playing him there). Pictochat, FD, PS1 (ironically Pika's favorite stage for a lot of MUs), anything kinda big is pretty good.