When you try enable HTTP compression (gzip) and HTTP 304 Caching via ETags on Azure CDN, you may not get both working together.
It is important to specifying If-None-Match or If-Match rather than ETag. Based on my experience, most users rely on modification date and GET If-Modified-Since. ETag is more stronger/stricter entity-header field to identify a specific entity than Last-Modified. You can use Last-Modified to work around this issue instead of using ETag. It is suggested to use Modified/If-Modified-Since (instead of ETag) and there is no need for variable caching based off encodings and this should work.
More info is here: HttpWebResponse LastModified