UPD2: Не о том подумал.
https://jsfiddle.net/zq8465rb/10/
Я бы сделал выравнивание флексом. Задаем футеру свойство флекс и ровняем дочерний эелемент по центру. Если так уж хочется именно через позиционирование, то надо понимать, что position: absolute выбивает эелемент с нормального потока и text-align: center уже не действует на него. Ровнять элементы с position absolute очень просто
.footer {
margin-top: 50px;
width:100%;
height: 150px;
background-color: #1587a2;
text-align: center;
position:relative;
}
.footer span {
color:white;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}