There's a checkbox in the settings for TinyMCE advanced for this, but checking the box to "Stop removing the
<br /> tags when saving and show them in the HTML editor" is going to give you a completely different, and equally unappealing problem.
With the option checked, TinyMCE Advanced will now automatically add coding for paragraph/line breaks and it will do it every time the page is refreshed in the visual editor. If you save the page in the visual editor, when it reloads, you will find new code added that separates the existing paragraphs with an additional. And to make matters even MORE interesting, every time you save it and it reloads the page, it adds more coding. When you try to navigate away from the page it tells you the page has changed and are you sure you want to navigate away without saving. At this point I'm going to do a REALLY girly thing and roll my eyes at this lovely little feature.
The less than ideal but workable solution for this is to uncheck the option, add the html coding in the html markup window and save the page WITHOUT VIEWING IT in the visual window. It's the act of viewing it in the visual window that mucks with your coding.
As to the unauthorized cleanup of your code, if you got to the forum for TinyMCE you will see there's a way to shut down the "cleanup" function which is what strips out your custom code. Until that option is added to the MCEadv plugin you'll have to re-add the code each time the plugin is updated.