Puff vs Luigi is lame in the sense that Puff can't easily combo Luigi, while Luigi can destroy Puff out of a down-air or up-air (plus, if Puff Dairs Luigi but ends in the air, Luigi can up-B before puff can do anything). However, if the puff player plays smart and doesn't walk into those attacks, the puff player can win. Sure it's much easier said than done. Puff has much better aerial mobility than Luigi, so avoiding it isn't impossible. It is a dumb matchup, but by no means Puff's worst.
Puff vs Fox, well... a laser spamming Fox easily has a major advantage. First off, Puff must avoid Fox's lasers. Then, Puff must get through Fox's priority, then has to get a good hit on Fox to even start a combo. Even though Puff can easily 0-death Fox (probably one of the easiest), if Puff never gets a chance to do the 0-death, then... well, then it isn't that useful. Lets put it this way... Roy in melee can fully charge his neutral B, which would result in an instant death to any character who gets hit by it. If he can never make the attack hit anyone, then it is useless. Obviously Puff's 0-death is usable on Fox, but the same theory applies to an extent.
Puff vs Pika... In my experience, Pika easily has the advantage. However, unlike Fox, he can't completely out-camp Puff, and unlike Luigi, he can't easily 0-death Puff from somewhat easy-to-hit attacks. Instead, he has an excessively large amount of range that can easily be abused (and if used properly, Puff will have a hard time hitting Pika). Up-air is amazing against Puff, as it completely out-ranges anything she can do. However, if Pika makes a mistake, a good puff should make it result in the loss of a stock. Pika is one of the easier characters to 0-death (well, easy-meduim due to up-B, but still guaranteeable if you know what you're doing).
Luigi, as lame as down-air and up-air are such that they can easily lead to up-B and down-B, can't guarantee getting those attacks to hit. A smart puff can avoid the attacks (at least enough to stand a chance in the match). It is definitely a Luigi advantage, but by no means Puff's worst (I'd say both Pika and Fox are worse).
Now... in terms of fox or Pika being Puff's worst matchup... well, both can destroy puff, and if either makes a mistake, both can be punished by death by puff. However, what makes me heavily believe that Fox is Puff's worst matchup is that a camping Fox has more room for error than a Pikachu has. Pika has to face puff head on, and any mistake will likely result in the loss of a stock. Fox, if he makes a mistake (messes up lasers, for example), he still can avoid getting combo'd. Fox would have to make a significant mistake to get caught in a 0-death (or must have been insanely mindgamed). So on the basis of who has the larger margin of error, I would easily say Fox is Puff's worst matchup.
For those saying that Puff vs Fox should be > on the basis that once Fox is off the ledge, he's dead easy to edgeguard (down-smash, F-smash, Nair, Bair, Fair, suicide rest, etc.), although it is true, you will very rarely get a good Fox off the stage. If you camp on the side of the stage waiting to backthrow him, expect to eat a lot of lasers.
I think we can all be in agreement that Luigi, Fox, and Pika are Puff's top 3 worst matchups, but for the reasons stated above, I would say that Fox is Puff's worst, followed by Pika, then Luigi. I personally would say that Fox should be >>, while Pika and Luigi would be >.