Can not using get_header() cause trouble (later on)?

As long as the wp_head() function is still being called in the template, you should be fine.

You’ve pretty much summed it up in your question; by not using get_header(), the get_header action will not be fired, but that wouldn’t matter for your particular use case.

Using get_header() along with the name parameter would be the more “WordPress way” of doing it though:

get_header( 'single-page-app' );

Would use the file header-single-page-app.php. get_header() uses locate_template() internally, which does not search sub directories, so this approach would not be suitable for your use case.