A while back I posted a fix to stop wordpress from removing / cleaning html code in posts and pages. In later versions of WordPress this fix was rendered useless so I’ve found another solution and here it is.
Install the Plugin TinyMCE Advanced from your WP Admin area. Then in it’s main settings page check the box that says “Stop removing the <p> and <br /> tags when saving and show them in the html editor”
Ensure you test this thoroughly as there can be some unwanted side effects, I am yet to see any but be warned :).