If you have a function that you cannot change to prevent the premature output, you can still override the shortcode handler:
add_shortcode( 'wordpress_social_login', 'wordpress_social_login_fix' );
function wordpress_social_login_fix( $attributes, $content ) {
ob_start();
wsl_render_login_form();
return ob_get_clean();
}