My ds10 also has migraines. He takes ibuprophen at the onset (and every 4 hours after) and zophran for nausea (which he does not have with every migraine anymore. I'm living for the day he can take imetrex (he has to be 12). He has taken cyproheptadine (pericactin) with no results, and topamax with some positive results and some negative. The topamax lessened the duration and severity of the migraines but had no effect on the frequency. It made him a little spacey (but he has ADHD, so it's a subtle thing). Right now, he's not taking any daily medicine for migraines, but he probably will once school starts again.

We have not found a food trigger, but getting too hungry can be one. Also, not enough sleep, deydration, and getting too hot can be problems, as well as stress.

As the OP will know, a child under 16 cannot take Excedrin because it contains asprin. I'd be happy to try caffeine at the onset, but ds doesn't drink anything that contains caffeine (other than hot chocolate or chocolate milk, but chocolate can be a trigger for some people). I've tried to get him to develop a taste for tea, but no luck yet. He won't drink anything carbonated.

But enough about me...
Are you seeing a pediatric neurolgist? The doctor ought to be willing to discuss the side effects with your son. I didn't want to go with daily medications either, but when things get bad enough, you try things. Ds used to be hysterical when he knew a migraine was coming (he started having them at 2 but was not properly diagnosed until 5).