Batch es una herramienta más que un lenguaje de programación. Puedes aprender a usar Excel, pero poco te servirá vivir utilizando solo Excel. Excel lo utilizas, cuando lo necesitas, ni más, ni menos (sin entrar de detallas de usos de Excel y etc xD)
Yo Batch lo veo útil para principiantes en programación, para iniciarse. Pero vaya, como dijeron, no tiene utilidades como sockets, cosa muy importante. No puede hacer nada en comparación a un lenguaje.
Y ya como opinión personal, Batch me parece algo lioso y traicionero. Es más visual ver un "2 > 1", que un "2 GTR 1". O por ejemplo, el uso del "FOR" en Batch, que si bien no sé utilizar, pienso que es bastante más complejo que un "FOR" en un lenguaje normal (cualquier lenguaje imperativo). Tiene "más utilidades", pero bueno, es un comando bastante especial.
¿Quieres un lenguaje que puedas utilizar en cualquier ordenador? ¿Qué elemento tienen todos los ordenadores, independientemente del SO? El navegador, javascript

Claro que javascript solo te dará poder de procesar datos de formularios HTML, y mostrarlos (ahí ya prácticamente sin restricciones, gracias a HTML5).
Pero sí, en cuanto a ralación potencia-dificultad-portabilidad, sí, Python.