Buenos días,
Prestashop funciona así, al tener mas de un idioma, siempre tiene que haber un idioma por defecto en el que se mostrará la tienda al entrar en ella, por lo que automáticamente te redirige a ese idioma y añade el código iso.
Lo que si se puede hacer, que se lo he hecho a algún cliente, es quitar el /es/ o el barra /en para el idioma principal y sólo aparece el prefijo para el resto de idiomas, pero el idioma principal estará sin prefijo.
Por ejemplo, si en tu tienda el castellano es el principal, siempre será www.heartcraftmexico.com aunque navegues por toda la tienda, y para inglés entonces aparecerá el código iso normal: www.heartcraftmexico.com/en/
Aunque para esto hay que hacer un desarrollo personalizado, en caso de que te interese contacta conmigo.
Saludos!