Por definición y por las propiedades intrínsecas de un elemento de bloque como es un /div/ si no se altera con declaraciones específicas, su tamaño crecerá en función de los contenidos (excepción hecha de aquellos que se hayan sustraído del flujo) e impidiendo que a sus laterales se coloque ningún otro elemento (es un elemento de bloque) a no ser que se haya alterado también esa particularidad con las declaraciones oportunas.
Así que en un principio, y salvo deficiencia de algún navegador, no es necesario el valor /auto/ para que aumente.
Retomando la duda inicial del usuario:
Sabiendo que para que sea efectivo el valor /Xunidad auto/ del margen para centrar un elemento de bloque y que es condición "sine qua non" que tenga declarada una anchura, cuando a priori no se conoce esa medida o puede variar en función de los contenidos, es tan sencillo solventarlo como declarar
/min-width/ y aconsejable también el
/max-width/
Todo lo anterior es para centrar ese elemento respecto a su contenedor referente. Otra cuestión distinta es para centrar los contenidos variables y no uniformes respecto del referente inicial.
Acá tiene
un ejemplo de centrado múltiple. Sólo tiene que sustituir el /width/ declarado en /.padre/ o mejor en /#segundo/ por lo indicado (min-width y max-width) y alterar los elementos contenidos en él.