I'm in the same situation. Binky and Mikesch are getting too fat and poor skinny Katie has barely a chance to get at the food before they inhale it. If I put more out, they still eat most of it and she always acts starving when I get home. If I left enough food out that they'd leave some for her, I would likely have two very fat cats on my hands. I suspect it's because both of them at some point had to fend for themselves so they got into the mindset of "eat as much as you can while it's there because you never know when there's going to be food again." Mikesch on occasion will overeat to the point of vomiting (so he gets to eat his food twice).
If the fat cat doesn't like to jump but the skinny one does, putting the food up high may be an option. In my case it works for Binky if the food is anywhere higher than three feet off the ground as the old chap doesn't like to jump or climb, but not for Mikesch. I've tried putting Katie's bowl up high in places where I thought none of the others would get to, but Mikesch makes it pretty much everywhere when he's on the prowl (including kitchen cabinets, trash can, bread box, you name it...) and he's sneaky about it, too, trying not to let me notice he's stealing food again.
One suggestion I've read is to have a sensor-controlled enclosed feeding station. E.g. rig a hooded litter box or something similar with one of those cat doors that will only let the cat wearing the right sensor through (collar or microchip-controlled), then place the food into the box and allow your skinny cat in and lock the fat cat out. If I had more time for projects like this, I would try to build one but I keep hoping my fosters are going to be adopted soon and I can put my two greedy "fatsos" on a diet without worrying about someone else going hungry because they ate all the available food.