Aquele código do controller gerado pelo SB é compatível com o MVC (e deveria ser) mas é para substituir só quando o programador ainda nãoi colocou nenhum código na classe controller dentro do netbeans/eclipse, pq no SB ele só escreve sobre o layout naquele controller, ou seja, todo o resto da programação (as funções, variáveis, constantes etc) ele não gera (e nem poderia)... e tb não atualiza do netbeans/eclipse.
Então, construa a sua tela no scene builder por completo, pegue o código do controller q ele gera e substitua no netbeans/eclipse, depois vá programar as regras de negócio.... daí em diante não olhe mais pra aquele código controller do scene builder.
Uma dica importante: quando vc for nomear os controles, faça antes pelo controller do netbeans/eclipse (colocando os FXML) e salve, depois no Scene Builder clique no dropdown da id e ele vai carregar o nome q vc acabou de colocar lá no controller (infelizmente o caminho inverso não é possivel -> colocar um nome de um controle no scene builder não atualiza a classe controller do netbeans/eclipse), a comunicação aqui é unidirecional.... na próxima versão eles deverão arrumar isso.
Outra dica, quando vc for estilizar o seu aplicativo, utilize CSS e não FXML. Use o Scene builder apenas como recursos para colcoar as cosas dentro da tela, mas use css para estilizar. Pq? É mais fácil e vc pode usar skins na sua aplicação, além do q o CSS para o javaFX é o mesmo CSS para a web, a única diferença é o acréscimo do "-fx-" antes dos seletores.
Sobre o FXML: Caso vc queira editar o FXML no seu editor de programação, o Auto-completation do FXML não funciona no Netbeans (bug de projeto, na proxima versão eles arrumam isso) mas funciona perfeitamente no eclipse.
Se vc optar pelo eclipse, não perca tempo e procure no google por "e(fx)clipse": é a mlehor ide eclipse para javafx (eu uso e recomendo).
Qualquer coisa posta aí. []'s