Someone told me once don't ever use anything that came from a tree to clean plastic (glasses or otherwise) with. I've always heart paper towels or anything like it are the worst. So first, use soft cloth materials, like cotton or microfiber. Secondly, don't use elbow grease. Don't rub hard. Third, get it wet first and let it soak for a minute or longer.
I use a pail of warm to hot water and a soft towel wrung out. If a pail isn't available, I use the ice cube plastic square thingy at motels. Lay the wet cloth on the windshield and let it sit while you're cleaning something else on the bike. Then for the stuff that doesn't come off the first time repeat the process.
I also use Meguiar's premium detailer a lot. Spray a fine mist on, let it sit, then gently rub with a microfiber cloth. Repeat (but gently) if needed. I haven't scratched a windshield yet with either process.