Have a look at your “certain shortcodes” how they “generate” parts. If they use markdownify then read the following link about RenderString and rework your shortcode. There is an option called inline that you want to use. Added plus: RenderString will have the content it renders show up in places like ToC.
What you ignore to mention in your list of workarounds is to just write proper markdown. There are a lot of places where one line-break is not enough to separate things. Use something like remark with preset-lint-markdown-style-guide to lint your markdown or see errors listed that you didn’t know exist.
Lastly: Hugo is developed at Github and there is a CONTRIBUTING.md available.
Probably by having some form of if-else-construct in your layout that checks frontmatter. If your template fully uses .Content without any markdown parsing… There is always .RawContent with the unparsed content of your markdown file that you can (ab)use in your layout file.