It's not elegant, and perhaps it will be too embarrassing for you to use, but I have found a solution that works really well for me: A cheap plastic shower cap. It's plenty big, wads to nothing in a pocket, and the elastic really holds it on the lens well. After lurking around with a clear one, I finally acknowledged my perversity and got one with big bright flowers on it.