A cheap alternative to Rain-X is to put a drop of dishsoap on your lenses, then rinse lightly and let them air dry. The soap leaves behind a thin film that has a similar effect.
A really cheap alternative is to spit on your lenses and smear it around a bit

It's not as good as soap, but you can do it on the road if you forgot to put on soap/Rain-X before leaving.