save_post action to include wp_insert_post_data filter, gathering meta field info & prevent infinite loop

You hook the tr_change_show_title to a filter inside the function itself, that can make a infinite loop. All the stuff removing/adding actions and filters inside the functions should be deleted; instead check if the post data should be updated or not. In your case you should check if the title has the value you desire or not, if not run wp_update_post with the new value:

add_action( 'save_post', 'tr_save_post_show_title', 99, 2 );
function tr_save_post_show_title( $post_ID, $post ){

    if ( !wp_is_post_revision( $post_ID ) ) { // do nothing if a revision

       $meta = get_post_meta($post_ID, "your-meta-key", true );

        if( $meta != '' ) {

            $desired_title = "Whatever you want as title";

            // Check the title value to check if it should be modified
            if( $post->post_title != $desired_title ) {

                $post->post_title = $desired_title;
                wp_update_post( $post, true );

            }

        }

    }


}

You are worried about running that function after a meta field has been saved/updated. If the meta field is in the form where you are editing the post, you can access to the meta field value like any other meta field. Anyway, if you want to be sure that the meta field has been saved/updated, you can use the updated_{$meta_type}_meta action hook instead of save_post; as advantage, in this action hook you have direct access to current meta value (if any):

add_action( 'updated_post_meta', 'tr_save_post_show_title', 99, 4 );
function tr_save_post_show_title( $meta_id, $object_id, $meta_key, $meta_value ) {

    if ( $meta_key == 'the_meta_key_here' && $meta_value != '' && $object_id && ! wp_is_post_revision( $object_id ) ) {

        //write_log(array( 'ID' => $post_id ));

        // Get post data
        $post = get_post( $object_id );

        if( $post ) {
            $desired_title="Combine here the $post->post_title with $meta_value as you desire.";

            // Check the title value to check if it should be modified
            if( $post->post_title != $desired_title ) {

                $post->post_title = $desired_title;
                wp_update_post( $post );

            }

        }

    }

}