Thanks for a really great question. The short answer is to eat really healthy food, only when hungry.
Here is how that works:
When one is eating very healthfully-eating vegetables, beans, fruits, nuts and seeds, you are giving your body all of the nutrition and fiber that it requires to operate optimally. Eating these nutrient rich foods help to banish what Dr. Fuhrman calls "toxic hunger", which is the craving that we get to keep eating even though we have already had sufficient calories. High nutrient eating helps to get rid of these toxic cravings, leading your body to give you the signals to only eat when it needs fuel.
As for eating several small meals rather than 3 more substantial meals, studies have shown that eating more meals can lead to consuming more calories, the exact opposite of what you want if you want to lose weight. The headaches that one can feel during periods of not eating are the result of your body detoxifying from low nutrient, high fat, high salt, high sugar foods. This is a great thing! The only bad part is that it might take a few days to get through this period of not feeling your best. The good news is that after going through this detox phase, many people report feeling better than they have in years! This is really great news.
So for weight loss, stick to 3 solid meals, giving your body the healthiest foods, rather than many meals during the day.