The headaches are probably from being dehydrated. Drink more more more. Our thirst response is so weak that we often mistake it for hunger, and eat when all we need is water. I saw on the news recently that drinking one diet soda a day can cause weight gain as well, so those should be a rare treat (I don't know if you drink them at all). Also, simple carbs raise our blood glucose (blood sugar) which raises our insulin, which then lowers our blood glucose to the point that we are hungry/tired/sleepy, and maybe even have headaches. So avoiding simple carbs (sugar, white flour, white rice, etc) helps to maintain an even keel and keep us from getting hungry all the time. Even if things say "made with whole grain" or "with multi grain", look at the ingredient list and if the first item is "enriched wheat flour", it's mostly NOT whole grain.
If chocolate is a must, make it as dark as possible. That satisfies the craving with less chocolate, and dark chocolate has less sugar, and the flavonols (or whatever they are) in it are good for us (but not all the sugar and fat). Keep a bag of mini sizes around if needed so you don't feel deprived (don't eat the whole bag, though, just one when you've got a craving :)
Also, if you pick a few marinades or cooking sauces that you like (Thai peanut sauce, Lemmon Pepper Marinade, Bbq Sauce), you can use them on whatever meats you like (chicken, fish, pork, beef), with a side of vegies and a salad, and you've got a healthy meal and no guilt. I use a frying pan with ridges on the inside which kind of makes for the grilling effect, and can "grill" any of those meats. If the sauce has much sugar in it at all, you might need to add it toward the end of cooking, or it will carmelize (burn) in the frying pan. Or, dice up the meat and stir fry with your favorite vegies and sauce. Costco carries great frozen vegetable mixes in 5lb bags for like $6. Avocadoes are really healthy and have the healthy fats that actually help us shed the bad fats off our body. A good rule of thumb is to try to eat one a week (diced up in salad, spread on sandwiches...)
Also, healthy snacks are a must in order to keep the blood sugars optimal and to keep us from starving and bingeing. Including protein helps them to satisfy us longer. So, string cheese (mozzarella - tasty and fairly low in fat) and fruit, or whole grain crackers, or nuts are good choices. Nuts have the good fats as well, but should be eaten in moderation.
Good luck!