You can modify the permalinks using the the_permalink filter and add a rewrite rule using add_rewrite_rule to redirect the new permalinks to the standard post link.
function mysite_modify_permalink($url) {
global $post;
//if taxonomy archive for Series get term
$term = is_tax('Series')?get_query_var('term'):'';
if(empty($term)) { //if no term was found
//get all Series terms for current post
$terms = get_the_terms($post, 'Series');
//if terms were found, take first term found
if(!empty($terms) && is_array($terms)) $term = $terms[0]->slug;
}
//if term was found return a modified permalink url
//(replace last url segment starting from "https://wordpress.stackexchange.com/" with '/<term slug><last segment>')
if(!empty($term)) return preg_replace('#/blog(/[^/]+/?)$#', '/blog/'.$term.'$1', $url);
//else return original url
else return $url;
}
add_filter('the_permalink', 'mysite_modify_permalink');
function mysite_add_rewrule() {
//get all Series terms
$terms = get_terms(array('taxonomy' => 'Series'));
//if terms were found, add a rewrite rule for urls containing one of them
if(!empty($terms) && is_array($terms)) {
foreach($terms as $key => $term) $terms[$key] = $term->slug;
$terms="(?:" . implode('|', $terms) . ')';
add_rewrite_rule('^blog/'.$terms.'(/[^/]+/?)$', 'index.php?name=$matches[1]', 'top');
}
}
add_action('init', 'mysite_add_rewrule');