FIM é o oposto de INÍCIO.
FINAL é o oposto de INICIAL.
Usando essa lógica, analisemos:
fim de semana <=> início de semana
final de semana <=> inicial de semana (estranho né?)
Gramaticalmente falando, o correto é “fim de semana”, mas temos que entender que a Língua passa por muitas mudanças culturais (regionais ou não). Então, não há nada de mais em usar “final de semana”, já que impregnou na comunicação do dia-a-dia.
*LiLíngua Portuguesa