John Gruber, the creator of MarkDown, has written:
For any markup that is not covered by Markdown’s syntax, you simply use HTML itself.
A lot of people seem to miss this important point, and the results are practically unreadable. Good MD isn’t pure MD; it’s styled and structured documents using MD to make the resulting plain-text as simple and uncluttered as possible.
GitHub-style MarkDown imposes additional restrictions on the kinds of tags, etc, you can use, which is probably a good thing, since it keeps things clean, spare, and visually uniform. Unfortunately, many people take this as an easy out, and write their MD docs in very lazy, unappealing ways.
If you want to make your documents readable, try a few of the following techniques — they’re really simple:
Line breaks and lots of them. A few <br />s at the end of your paragraphs doesn’t hurt plain-text readability, and it significantly improves rendered readability.
Internal links, instead of one big page — this is absolutely supported by MD itself, so you have no excuse not to break down your content into comprehensible chunks.
Alt-text, also supported by MD, to improve accessibility and recognition by crawlers, etc.
Block-level elements like DIV, used sparingly, to give your document structure beyond headers.
HTML comments, to add meta “notes” to your MarkDown.