But it couldn't be as expensive as caching a variant for every User-Agent that accesses your site. What is probably needed is CacheVaryOn env-variable which would override the vary-matching decision to vary only on the content of env-variable (which could be just on/off in this case), but not touch the actual Vary: header, since down-stream caches wouldn't have the extra logic needed determine if they needed to vary.
Disk space is cheap. ;-)
I think the vary header would still be preserved in the cached copy, so I'm not sure how down-stream caches would be affected. -- justin