Hide or disallow default custom post type url?

OK, I finally figured it out. And I ended up having to compromise in case there is more than one location tag for the same item, but I am much happier with how it works.

FIRST, I had to change the permalink structure (thanks Milo) like so:

function get_real_link_please( $url, $post ) {
    if ( $post->post_type == 'organization' ){
    $loc_list = wp_get_post_terms($post->ID, 'my_locations');
    $location = $loc_list[0]->slug; //get first item in case there is more than one
    return home_url( $location . '/organization/' . $post->post_name, $url );
    }
    return $url;
}
add_filter( 'post_type_link', 'get_real_link_please', 10, 2 );

And THEN, I had to make sure my rewrite rule accounted for it:

add_action( 'init', 'cpt_rewrite_link' );

function cpt_rewrite_link(){
       add_rewrite_rule( '([^/]+)/([^/]*)/([^/]*)/', 'index.php?my_locations=$matches[1]&post_type=$matches[2]&name=$matches[3]', 'top' );

}

AND FINALLY (Very important!), I had to make sure that my cpt was in fact publicly queryable:

  ,'publicly_queryable' => true

The only thing that would make me happier is if I could find a way to have multiple permalinks for multiple locations, but since the other links will work, it is fine to have the first location be the “official” one. Hope this helps someone else, it was a bear.