I've used Rain-X and similar products and I've also gotten in the habit of waxing the windows when I wax the cars. Actually, the wax does just as good, but that's a combination of getting the windshield extremely clean first, followed by the wax. A clay bar works well to clean the windows...