After hours of browsing and testing to find out a definitive solution about the annoying empty html paragraph tag in shortcode, I found this absolutely smart and easy solution that just works!
add_filter('the_content', 'shortcode_empty_paragraph_fix');
function shortcode_empty_paragraph_fix($content)
{
$array = array (
'<p>[' => '[',
']</p>' => ']',
']<br />' => ']'
);
$content = strtr($content, $array);
return $content;
}
Speechless….