Is there an admin hook that will let me read GET variable before it’s too late to set the header Location

You can check the $current_screen on the current_screen action, and redirect after checking some GET conditions:

function wpd_current_screen( $current_screen ) {
    if ( 'toplevel_page_your_menu_item_id' == $current_screen->base ) {
        // check some condition and
        wp_redirect( admin_url() );
        exit;
    }
}
add_action( 'current_screen', 'wpd_current_screen' );