Sorry its long...I just had lots of thoughts when I got to thinking of the past 20 years!
I was officially diagnosed with chronic migraines at 6, but had been experiencing them since I was around 3 I believe. Something that has really worked for me as an adult is magnesium. Magnesium is a natural migraine inhibitor, which my dr (naturopathic) told me after she put me on it because its a natural bronchiodialoator for my asthma. I don't know how a lot of those work in kids, so definitely check with a naturopathic or homeopathic doctor. Maybe a pharmacist? I'm not sure who else would know, maybe even his pediatrician. I don't know if it frequently interacts with things, or if it depletes other viatamins so you have to take more, or anything like that, but it might be worth looking into.
Also, try taking him to an allergist. While it certainly didn't get rid of my migraines, good treatment of my allergies really helped to lessen the occurences. I was so stuffy, and sneezy, etc. that it would just exacerabate any headaches into migraines...and by decreasing my regular headaches caused by allergies, my migraines went down too. It didn't cure them by any means, but it certainly helped. Migraines can also be some people's way of reacting to an environmental or food allergy.
Otherwise, its pretty much just pain and symptom management. Start a diary tracking his food every day, his activity, his sleep, and note when the migraines begin. You will probably start to see a slight pattern emerge in that it they happen when he changes temperatures, increased activity, or foods. Lots of people with migraines have 'trigger foods' that doesn't mean an allergy. Oddly, my trigger foods are not related to the ones i'm allergic too. These trigger foods are common amongst sufferers from what the drs have told me and what reading i have done on my own: hot dogs/sausages, tomato products (sauce, ketchup), cheese, red wine, chocolate. If I have a small headache, eating this can put it from a mild headache I wouldn't even take OTC pain reliever for, into a full blown dibilitating migraine. Caffeine can help the symptoms to decrease a little, as it dialates the vessels in the brain and gets blood flowing, but I'm not sure how you feel about giving caffeine to a 4 y/o. I probably wouldn't be too comfortable with it. The best thing you can do is to lessen and treat the symptoms: get him in a SUPER dark, COMPLETELY quiet room. Wet a washcloth with COLD water and press it to his forehead. Make sure his neck isn't elevated on the pillow to restrict any blood movement. Rubbing his head and/or neck may help to distract him from the pain, though I'm not sure if it really helps. The best thing is for him to sleep. Sleep takes it away.
A couple other thoughts I had while I was typing. The other thing that has almost eliminated my migraines is physical therapy. I do some strengthening exercises in my neck, shoulders, and torso and that helps a ton. They also put me in a cervical traction unit, which is amazing. It sounds weird, but what it does it stretches your neck out while you lie down. If I keep up on that once a week, my migraines are almost non-existent. I can also lie in it (I bought one with insurance for home) when I feel one coming and it will lessen my symptoms or the duration. Again, I'm not sure how any of that relates to a 4 y/o, but it is worth exploring. Its non-invasive...and if it doesn't work you just stop. Also look at his ergonomics while he is watchign TV and/or playing computer or video games. Be sure he isn't hyperextending his neck or holding it at weird angles or shurgging his shoulder. This causes tension which is a big cause of migraines. Try a memory foam pillow. One Step Ahead (I think, maybe Sensational Beginnings?) has a kid-sized one that looks like it would be great. Me and my 2 y/o each have just a normal pillow that is memory foam and it helps keep my neck in line and supported a LOT. Oddly, she sleeps better on it than a regular pillow too. O also find I get WAY more migraines when I am warm. So I hardly ever wear sweaters in the house or at work, I never wear a coat inside a store, because sometimes the migraine is delayed in coming. But if I make sure that I stay cool they are much fewer. You may start to notice this too when you log his activities and such....so by making sure he's not overheating and staying hydrated you might solve a lot of it.
Good luck! Its a really big pain...but they are finding out more and more all the time. But don't be afraid of pain killers...unless you have ever suffered a migraine, you have no idea the level and intesnity of pain. during one 4-day migraine, I swear that I would rather recover my csection than have that migraine. It was that awful...and some of my 'normal' migraines that only last a day or so rival the pain of recovering from birth or my kidney infection (as painful as birth). Luckily with kids they do'nt have any intolerances built up, so normal or small doses of ibuprofen can work wonders. Tylenol too, I just don't like tylenol, I think its worthless :)