How to use another file instead of home.php

You could filter home_template, check for the presence whatever $_GET var is reliably set for each of those requests, and load a different template for those cases.

function wpd_home_template( $home_template="" ){
    if( isset( $_GET['search_type'] ) ){
        $home_template = locate_template( 'homesearch.php', false );
    }
    return $home_template;
}
add_filter( 'home_template', 'wpd_home_template' );

EDIT- fixed incorrect var test.