Each person who gets recurrent headaches is different. There is no one best medicine, if there was there would only be one medicine and we would prescribe it for all the patients.
Usually the first step is to focus on finding your triggers and eliminating those, and then selecting a prevention medication if neccessary.
When selecting a medication for migraine prophylaxsis we try to use a medication which might give us benefit in more than one area, or select a medication which give the best control with the least side effects. There are also differences based on each prescriber's individual experiences with medications.
If a person has high blood pressure or a hear condition, you would probably use a beta blocking agent like Inderal, or a calcium channel blocking agent.
If the patient has sleep issues, or possibly coexisting depression they might do best with a tricyclic antidepressant agent.
For patients who are prone to preferring natural methods, maintainence of magnesium levels and the use of feverfew are considered.
I have had the best success with antiepileptic drugs (AEDs) though these are often harder to start and stop, and can have more side effects. One of the responders mentioned Topamax, which is usually reasonably effective, but I use it less than some others because patients don't like the side effects (confusion, memory loss, weight changes) also it makes food and especially soft drinks and other carbonated beverages taste flat and metallic. I have had success with Zonegran and Keppra though they have their own side effects they are better tolerated. Depakote is often effective, but can cause significant weight gain, among other side effects.
I have found that you often have to try these to see if they work, and it may take a couple of tries to find the right medication or combination of medications.
As both a prescriber and migraine patient I have taken all of the above medications. Some worked, some I had problems with side effects, and some had no effect at all.
You need to work with your neurologist or headache specialist and get the treatment that works for you.
Remember every medication has side effects for some people, and every medication works for some and not as well or at all for others. Be patient!
Pain Management/Headache Specialist