Puedes desde hacer 2 ArrayAdapter para mostrar en 2 ListView por separado (cosa que no veo).
Hasta parsear los goles por separado (cosa que haces a medias, porque todo lo metes en un List de Goles_Local, que se podría llamar simplemente Goles ya que todos son iguales) y tenerlos en 2 List distintos.
Y luego en el getView hacer la lógica para poner en distintas columnas (en un layout los locales alineados a la izquierda y los visitantes a la derecha) según la posición de los goles locales y visitantes. Si hay más visitantes que locales habrá posiciones en el ListView que tendrán elementos a la derecha y no a la izquierda, y viceversa.