I’ve been trying to tackle this issue, and looking through the code (and testing) leads me to believe that this feature already exists.
Putting two URLs in the CNAME box, separated by a comma, produces the desired result. When the site is accessed via HTTP, the first URL is used. When the site is accessed with HTTPS, the second URL is used.
Is this the correct functionality? It appears to exactly solve the problem as described.
Also, you really should be charging for this! I greatly appreciate that you actively support it on the forums, but I’d be more than happy to pay for more development.