I had really bad chronic headaches in high school, and I even had to repeat a year for them. It took forever to find a medicine that works for me. Right now I take Elavil daily, and Maxalt whenever I feel a headache coming on. It's important to take Maxalt BEFORE the headache starts really rolling or you're screwed. No medicine will help a migraine that's already started rolling.
My triggers are (in order of effect): certain foods (blueberries, raisons, bananas, grapes, grape juice, citrus, peanuts, yogurt, strong cheeses...maybe more but I can't remember now), barometric pressure (stormy weather = some sort of headache), and stress.
Most headaches always have triggers, and I've found that the best way to prevent a migraine is to figure out what yours are. They're different for everyone, but some, like peanuts or grapes, are more common triggers. If I eat a blueberry (even just one!), I'll get a massive headache, without fail. If I eat a hand-full of raisons, it's a toss-up and usually depends on other things also contributing (like if the weather is also really bad and I have a huge test coming up).
Migraines suck, and though mine are suddenly much less severe (maybe I'm less hormonal now that I'm nearly 20), I can totally understand where you're at right now. I hope you find something that works for you.