You could just replace single newlines with doubles when not followed by another markdown token. If that is the most common user error, there is no shame in hard-coding some logic to handle it into your form processing. So long as it shows up in the live preview, so those users who do pay attention can see what it is doing, it could save your legion of editors some time