First off, Pikachu does not have perfect frame data. It's good, but not nearly as good as sheik, mario, luigi, etc.
Second off, Captain Falcon gets absolutely destroyed by Pikachu, as Pikachu can crouch under a lot of Falcon's attacks and also edgeguard him very effectively.
Pikachu also edgeguards Diddy and Marth very well, but both of these characters have tools they can use to compete with Pikachu.
For Diddy, watch the videos of MVD vs. ESAM that are on youtube (there are a lot of them). Notice his spacing, use of SH fair, and banana positioning. Diddy Kong can kill Pikachu fairly early with banana toss > fsmash, or dtilt > fair, bair, or usmash. The key here is to maintain stage control and not get sent offstage, because a good Pikachu will kill you the second you try to upB (as seen in many of those videos I mentioned).
For Marth, I suggest trying to zone the Pikachu out. You have a sword, and Pikachu has almost no range on any of his attacks outside of fsmash and thunder jolt. Sword characters have been a struggle for Pikachu throughout Melee and Brawl, and they seem to cause him some minor problems in this game too. Again, always pay attention to where you are in the stage. Try to keep stage control and always be near the centre of the stage unless you have Pikachu offstage.
I hope some of this helps