That must be frustating, especially ifvyou also have recurring migraines. Have you determined yet what causes the migraines, ie are you sensitive to certain foods, spices, noise, do you get an aura before the onset? Have you tried the new medications that are taken chrinically to prevent migraines rather than taking pain medication when they occur. Have you checked to make sure your migraine meds don't contain anything to which you may becallergic or contain stimulants?
As for deep sllep you give a percentage but not total times in each one, which may be more relevant. 10% of eight hours is 48 minutes which is not bad though not great depending on your age. Instead of a shower before bed, try taking a real hot bath with epsom salts and a few drops of lavender oil. That will really relax all your muscles. Make sure your roof is below 18 degrees C (65 F). Waking up several times a night is completely normal we all do it, it only becomes a problem when you can't back to sleep. Is that the case? Have you used a sleep app on your phone that will register if there are loud noises like traffic orbyour girlfriend snoring to see if external noise is waking you (it often is.)
Another question is how much daylight do you get on a normal day. Try to get some bright sun without sunglasses first thing in the morning. If its normally overcastvwhere you are try a philips go lite or similar blue light first thing in the morning for 15-20 minutes. Itvwill help set you circadian rythyms.
Lastly, you can try some supplements beside melatonin if that doesn't help. 5 mg of lithium orotate might help. In the us you can get this OTC. Other supplements that may help either alone or in combination are tryptophan, theanine, magnesium l-threonate, which goes to your brain , and ashwaganda, an Indian adaptogen which makes about half the population very sleepy.
Hope this helps