InstallShield uses MSXML to do it's updates and this is the behavior of the DOM. If this is unacceptable to you, then you will have to either pretend it isn't XML and use the Text Changes pattern or write your own custom actions.
Since you asked about "best practices" I would say that valid XML is valid XML and if you are worried about readability for people editing it by hand that maybe they shouldn't be editing it by hand if they don't properly understand XML.
Reminds me of the old joke back in the 1990's about the user who knew just enough to be dangerous when he learned what an INI file was.
Another best practice that has been debated over the years is whether this sort of configuration even belongs in the installer. I do it all the time but there are many that don't / won't. They insist on keeping configuration in the application; typically done on first run.