altura: auto en SVG no funciona

Estoy tratando de usar una hoja de sprites SVG usando el método "símbolo" detallado aquí.

http://css-tricks.com/svg-sprites-use-better-icon-fonts/

Mi HTML es muy simple.

<svg><use xlink:href="/images/iconSprite.svg#camera"/></svg>

Y aquí hay un símbolo de ejemplo del archivo SVG

<symbol viewBox="0 0 24 24" id="clock"><g transform="translate(0 -1028.4)"><path d="M22.085 1035.955a10.997 10.997-23.5 1 1-20.17 8.77 10.997 10.997-23.5 1 1 20.17-8.77z" fill="#1abc9c"/><path d="M21 1040.335a9 9 0 1 1-18 0 9 9 0 1 1 18 0z" fill="#ecf0f1"/><path d="M1.034 1039.8c-.083 1.7.176 3.3.875 4.9 2.42 5.6 8.898 8.2 14.468 5.8 4.29-1.9 6.778-6.2 6.593-10.6-.202 4-2.63 7.8-6.592 9.6-5.57 2.4-12.047-.2-14.47-5.8-.556-1.2-.82-2.6-.874-3.9z" fill="#16a085"/><path d="M20 1040.4c0 .5-.448 1-1 1h-6v-2h6c.552 0 1 .4 1 1z" fill="#3498db"/><path d="M12 1033.4c-.552 0-1 .448-1 1v5h2v-5c0-.552-.448-1-1-1z" fill="#2c3e50"/><path fill="#c0392b" d="M6.017 1045.705l4.95-4.95.707.707-4.95 4.95z"/><path d="M12 1038.4c-1.105 0-2 .9-2 2s.895 2 2 2 2-.9 2-2-.895-2-2-2zm0 1c.552 0 1 .4 1 1 0 .5-.448 1-1 1s-1-.5-1-1c0-.6.448-1 1-1z" fill="#34495e"/></g></symbol>

El problema que tengo es que cuando uso CSS para establecer el ancho del elemento SVG en 64px, la altura del SVG se establece automáticamente en 150 píxeles. He intentado establecer la altura: auto; y altura: 100%; en el elemento SVG pero no hace ninguna diferencia. La única forma de hacerlo funcionar es establecer la altura: 64 px; lo que no quiero hacer porque la relación de aspecto de mis íconos puede no ser siempre cuadrada. Lo que quiero que haga es escalar automáticamente el SVG en su relación de aspecto original, por lo que un ícono 4: 3 (como se define en el cuadro de vista) obtendría automáticamente una altura de 300 px si configuro el ancho en 400 px.

He leído varias guías sobre cómo escalar SVG y preservar la relación de aspecto y algunas tienen soluciones cuando uso un elemento IMG, pero no puedo encontrar una para SVGS en línea, o usando un SVG externo con USE.

¿Alguien conoce una solución que funcione en todos los navegadores, incluidos IE9 + y Android 4.0+?

Respuestas a la pregunta(2)

Su respuesta a la pregunta