I use this http://www.meguiarsdirect.com/product_detail.do?q=4733 I have used this on bike for over a year and it's great. I started using this on my airplane windshield about 3 years ago to remove "swirls" on the windshield from the previous owner, it removed them after one application and it works great on the wing.
It takes a little bit of elbow grease to get it right but it won't bung up the windshield and it looks like it's brand new when you're done.
Quickdraw at FireCreek (windbender) recommended this when I scratched my windbender. I would not recommend using step 4 (sandpaper) if you have a coated windshield. This technique worked wonders on the upper half of my windbender HP after I inadvertently dropped it on the floor. Some nasty looking scratches came out in less than thirty seconds of buffing.
Clean your windshield.
Use a six inch buffing wheel (cotton) in your drill motor. Put a drop or two of Meguiar's #17 plastic cleaner on the scratch and polish it with the buffer.
If the Meguiar's #17 doesn't get it all out, try Meguiar's #10, then use Meguiar's #17 again.
If the scratch is deep and the Meguiars does not remove it use a piece of wet 2000 grit wet/dry sandpaper and see if you can smooth out the scratch. If you can sand the scratch out the surface will be completely milky where you sanded. Smear some of that Meguiar's #17 on the milky area and use the buffing wheel until the shield shines.