Your theory holds water. However it is just one part of the problem.
I would say the main problem is we have millions of years of evolution behind us that make us hungry. As soon as you eat a big meal your body gets sleepy, as if to say “ok, time to get some sleep and turn this food to fat, who knows when we will eat again”. 200.000 years ago, those who are fat now would have been healthy, and all these fussy eaters would be dead.
Another problem is what you mention, we just don’t get the nutrition in our food. I read a story recently about a man who was stranded on a life-raft for several months, all he had was some drinking water that was onboard and the fish he could catch. After several months of eating nothing but fish, he was starting to die. The fish had all the nutrients he needed, but he did not eat those parts. However, once his body started getting worried, it tricked his mind in to eating other parts. The man claims that after a month or so, he would pull fish out of the water and go directly for it’s eyes and guts, leaving all the meat. He says the meat did not even look nice to him anymore, that the only appealing part was the eyeballs and guts. So yea, the body will force you to eat strange things if it is not getting all the nutrients it needs.
I think we need to realize as a species, that we all need shelter, we all need food and water, and we all need healthcare. I would argue that we should take the profit out of these things, and make it universally free for all the species. As long as people can make money by cheating us out of healthcare of good food, they will, because they are not us, and so they dont care.