Whilst you’re correct in saying WP will only scan directories 1 level deep for templates, since 4.4 you have complete control over the theme_page_templates
filter (you can now add to as well as remove from the list):
add_filter( 'theme_page_templates', function( $templates ) {
$templates['page-templates/another/directory/template.php'] = 'Another Directory Template';
return $templates;
});