For the most part, the restaurants aren't bad at all as long as you're prepared for them. You can use Feint to counter their Protect, allowing you to win on the correct turn even if they choose to use Protect at that point. The annoying thing is that if you want to be able to reliably do a perfect clear of each restaurant meal every single time, you basically need to design a team specifically for that purpose. Fortunately, there is no variation in the Pokémon you face or the moves they know, so once you learn which opponents know Protect and which ones don't, you have a huge advantage, and can perfect clear most meals 100% of the time without any reliance on luck.
For guaranteed success, the main Pokémon you want to have are a Lv.100 Feint user and a Lv.100 Pokémon with a wide variety of strong attacks with 100 base accuracy. The Feint user should know Swords Dance, too. Both of them should be optimized for dealing as much damage as possible in a single hit, although having some durability wouldn't hurt; Speed doesn't really matter all that much. For Double and Triple Battles, use Feint followed by a strong and accurate attack to defeat each opponent. For Rotation Battles, have your Feint user use Swords Dance to ensure that Feint can defeat each opponent in one hit. When you need to stall for time so you don't end the battle too quickly, use support moves like Swords Dance. You can keep track of how many turns have passed by seeing how much PP you have used up in that battle. Because your Pokémon also eat the food that you are being served, their HP and PP are fully restored between battles, making this easier.
For reference, Le Wow is the hardest to perfect, with its Rotation Battle Meal being the most annoying by far. Sushi High Roller is actually easier, because not many opponents there know Protect. (Le Nah is downright brain-dead easy to perfect, because no one uses Protect there.) If you perfect every meal at a restaurant, you'll get altered dialogue whenever you eat there in the future. Having perfected every meal at a restaurant, if you return and perfect any meal there again, you'll get some secret dialogue at the end of the meal. Perhaps because it's the hardest to perfect, Le Wow has the most shocking secret dialogue (although Sushi High Roller's secret dialogue is hilarious if you understand the joke behind that place).