Drink enough water, get enough sleep, and stay away from junk food! Not the most popular answer, lol, but toxins (from junk etc) make the problem worse and not staying hydrated enough will make the skin there less "plump" so easier to see the discoloration underneath.
There are specific makeups for under-eye circles, not foundation but cover sticks and the like. If those don't work for you, talk to a dermatologist. A hairdresser once told me that he had had the skin under his eyes treated with a bleaching agent by a dermatologist, hard though that is to believe. I would stick with some of the better quality under-eye circle creams. Get the right color and they blend right in and look natural.
It could be genetics as well. (I'm not sure if the weight has anything to do with it) I have them really bad, but I got them from my biological father. I've never found anyways to get rid of them, but I've also never cared too much---I'm not a makeup user. Have you talked to your doctor?