I forgot that sodium larual(th) sulfate is also in toothpaste. Speaking of toothpaste did you know that if someone is allergic to fluoride it could represent itself as migraines.
http://www.fannz.org.nz/fluoride_allergy.php
Also check your detergents and soaps for sodium laurl(th) sulfate I have to also avoid it topically-- this ingredient is was causes bubbles or suds.
I am sorry your family suffers from migraines so much. Do you use any artificial sweetener as that is a huge component to migraines. I cannot even chew 1/2 piece of sugarless gum without getting a migraine. What meds do they give him, my guess an inactive ingredient is artificial sweetener and or sodium laural(th) sulfate. I also cannot have talc-- a typical inactive ingredient in meds. I have also learned to stay away from over ripe bananas, certain nuts, high fructose corn syrup, caffeine, nitrates/nitrites (processed meats such as hot dogs, sausage, ham, bacon, and all lunch meats), dairy, and gluten (wheat, barely, rye). (Also be sure to check his meds for diary that is a huge inactive ingredient.)
Also how is his sister? If she still gets them I sugest to make sure she does not have endometriosis because with all that I avoid, if I start getting chronic migraines I know my endo is back.
I hope this helps
Sorry to hear your son is suffering from migraines. I too had them at that age and eventually grew out of them only to have them return about two years ago, at age 50. Not as bad as they were at your Son's age however. If he is not seeing a Neurologist, it might be a good idea.