Alcohol depletes B vitamins in your body, and depleted B vitamins cause many of the symptoms. The key is to take a B Complex before going to bed and/or to take a tablespoon full of honey, which is full of B vitamins.
Back when I was drinking, I would take a multi-vitamin tablet and aspirin, either before, during, or immediately after i drank. It worked very well.
The vitamin tablet replaced many of the vitamins (expeically Vitamin C) lost to the alcohol and the aspirin help stave off the headaches in advance.