I used to get terribly deaf by the end of a long haul flight. I learned a neck exercise that helps a lot (it's good for your neck in other ways too).
Keeping your face forward, slowly lift one ear towards the ceiling, so that you get a stretch feeling down the side of your neck. Slowly reverse and do the other side. Repeat half a dozen times every day. You are stretching up not flopping your head sideways.
Most people "cheat" when they do this exercise and don't keep their face forward. The trick is to put your index finger on the end of your nose when you are practicing. Your head moves, but your nose stays in the same spot, if you are doing it correctly. A mirror will help you to get the knack. I do it every day, but also on places (without the nose on finger thing!) . I think it helps by stretching out your eustachian tube that links your middle ear to your throat and helps it to open and let air pass along it.
Also the obvious ones - stay hydrated (water every hour, no alcohol) and use mints or gum during the descent.