As a laptop owner myself, I can feel your pain. My lappy actualy broke down due to overheating (GPU heatsink melt off and dropped somewhere around power input causing a short circuit...), I got a replacement motherboard for free even though waranty was already expired
90c is too hot. I fixed my laptops major overheating issues with few tricks. First I removed the original GPU heatsink completely with a better (and bigger) one that was meant for desktop PC's and used a silicon "ring" to keep it steady. My GPU now never goes over 85c under full load without extra cooling and such. <-- this might be too risky for you to do so next easier step would be to clean the fan/s or go to a PC store and for them to clean it up for you. Once I cleaned mine, my fan stopped making "flappy" sound and my GPU stays few dedgrees cooler while the CPU overheating became slightly less common.
Third, external cooling pads can help but you must pick proper model and make sure that your laptop has an air in-take went underneath it. My cooling pad (meant for max 16" laptops although my laptop is 17") works pretty well and keeps my GPU at 80C and CPU cores slightly above 80 (other core still has some serious overheating problems because it runs +5 dedgrees hotter and usualy causes the other core to reach higher temps too)
So, in short:
1. enhance cooling capabilities if you are tech savy, if not, then dont even try.
2. clean fan
3. possible extrenal cooling.
4. make sure that the in-take vent is not "blocked"
5. if you laptop is older and you decide to take it to store for cleaning, ask them if they could apply new thermal paste.