The current rules for HTML blocks are a bit twisted; they make sense given the annoying constraints imposed by the existence of indented code blocks, but they make it ridiculously hard to include
<script> blocks in a Markdown file, as they almost always contain blank lines.
<pre> also commonly contains a blank line; the suggestion to instead just insert a linebreak character reference is pretty obnoxious to actually use in practice. (I’ve done so in the past
<pre> should all parse their contents literally, looking for a closing tag (or end of document) to stop. I suspect this will match actual usage better, though I don’t have data to back me up on that.