I had this same issue and did a good amount of searching through earlier posts here. Turns out it is a known issue with the WordPress function wpautop and shortcodes.
Add this line to functions.php in your theme to solve the issue:
add_filter( 'the_content', 'wpautop',20 );
Cheers!