From the official code reference:
wp_redirect() does not exit automatically, and should almost always be
followed by a call to exit;
So, you need to call exit after the redirect:
$curauth = (get_query_var('author_name')) ? get_user_by('slug', get_query_var('author_name')) : get_userdata(get_query_var('author'));
if ( get_user_role($curauth->ID) === 'subscriber' ):
wp_redirect( 'http://redirect-here.com' );
exit; //here!
endif;