Toothpaste. It’s abrasive but not too much. It will clear the lenses to make the lights a lot more visible.
Gator also makes a headlight cleaning kit that attaches to a drill and comes with everything needed. The kits are available at Lowes... I hope this helps!
There are a variety of ways to do this and people have weighed in on as many that may or may not work for everyone. Here's a few:
1) Any bug spray will work so long as it has DEET. The more, the better.
2) What I used was a product called Motsenbockers® Lift Off® Latex Paint Remover - 4.5 oz. Just be sure the can says "safe for plastic". I put it on with one of those magic eraser sponges, rubbing lightly, let it sit for about 5 or 10 seconds and rub off. Then clean with water and use Rain-X, again being sure this says 'safe for plastic', too. If it's not, just use wax. You may have to do it a couple of times, but it has worked for me. Takes about 10 minutes for both headlights and is under $6, and you still have product left over.
3) I saw this on Instructibles, but don't know about it at all. Here is the site: How to Fix Cloudy Headlights
I used white toothpaste and a microfiber cloth on my old car's headlights and it worked great.
Buy the cheapest white toothpaste, without fluoride. Spread a thin layer on the headlights and wipe with a microfiber cloth.