As you mentioned the problem with the cloth/linen shades is they get dirty/rust so quickly. The platic shade can easily be wiped and is more durable but I have not been able to find any lately.
I like your idea of painting them. Perhaps a coating of epoxy then a coat of varnish/or shellac would keep them translucent while preventing them from getting dirty or at least making them easier to clean.
Best alternative is probably to replace the fixtures with a different more efficient model. It is on my list but not a very high priority.
Mark A.