Welcome to the forum.
Sleep I: Try get enough, you should have approaching 8 hours a night, and try to keep a consistent schedule for going to bed. I'm in bed by 9:00 every night for a 4:00 AM wake-up. So I'm getting about 6 1/2 hours every night. It's been working for me. Coworkers with the same wake times are going to bed at 11:30, racking up an amazing 4 1/2 hours, walk around like zombies and fall to sleep sitting at their computers. Not good for anyone, especially those prone to migraines.
Sleep II: Its my understanding that too much sleep can trigger migraines as well. Really, try to stick to 8 hours, or as close as possible. Keep a relatively close schedule.
I see you're taking Topemax. I had an undiagnosed seizure disorder for years. The migraines were not part of the seizure symptoms, but when I began taking Dilantin (Phenytoin) for my seizures, the migraines completely stopped. You may benefit from another medication or a dosage adjustment of your current medication, done, of course, under supervision from your neurologist of course.
Two other medications that significantly controlled my migraines were Ergotrate and Propranolol (Beta Blocker). They were not used simultaneously, I used Ergotrate for a few months, Propranolol at another time for a few years.
MSG was a trigger for me, so I had to avoid that or live with a migraine the next day.