I stubbled across this today on a clients page; I used f:format.html to pare some rte content. Somehow there where empty <p> tags before and after the content. At first I thought the RTE was at fault. But then I realized the problem was in my template;

<f:format.html>
{rtecontent}
</f:format.html>

The linebraeaks before and after the fluid variable ‚{rtecontent}‘ are responsible for the additional <p>’s. Conclusion: Don’t use linebreaks when you use <f:format.html>, instead use this: