I get migraines and headaches quite frequently. The trick is to catch them before they get bad. Like, the moment you think, "I feel a headache coming on"...start your routine.
My routine is:
1. Steam my face
2. Stay hydrated
3. Drink passionflower tea
4. "Headache Magic" Roll On (found online)
5. Listen to binaural beats for migraine /youtu.be/38L9OkyRod8
6. If all else fails, I take ibuprofen
I also sometimes take magnesium. Headaches and migraine are most commonly caused by stiff muscles or your nervous system going out of whack.
Once the headache becomes bad, it's almost too late and you might as well take pain meds. Even so, the above tips should help.