Mmm, el codigo que tienes ahi es bastante diferente del que aparece en el link de stackoverflow. Has probado el otro a ver si funciona?
Sobre tu codigo, veo que tu imagen es el fondo de un linearlayout. El cual ocupa el espacio del padre. No deberia ajustarse al contenido? Para que si la imagen es mas grande que la pantalla, no la reescale?
Y el boton, ponerle el gravity para que se ajuste abajo a la izquierda, derecha, centrado, o como quieras? En vez de ponerlo en una posicion fija. Y luego con padding lo ajustas a donde quieras.
No se, se pueden probar muchas cosas. Y todo lo que te he dicho igual tampoco vale de mucho por que no lo he probado.
Editado:
Por cierto, el boton lo tienes dentro del layout de la imagen (por que no usar un imageview?). Creo que deberias dejarlo fuera.