The 3 strange characters are most likely 0xEF 0xBB 0xBF, i.e. the UTF-8 BOM (which there is no need for and often cause troubles). It is possible that there is some setting in your editor that allows you to save without BOM, either by unchecking it as a specific option, or by doing a "save as..." and changing filetype to something like UTF-8 - No BOM.
Is it really replacing your " instances or just not dislpaying them? One solution would be to put your data in cdata sections, <![CDATA[ .... ]]>, and forgo the use of character entities.
I've no idea what functionality an XML editor would provide, but you could just go with any simple text editor that supports indentation and syntax highlighting. Emacs can do this for XML files, and I'd bet both ecplise and visual studio can as well.
If the editor you go with doesn't support validation, you can probably use any browser of your choice to check for wellformedness. http://www.w3.org/2001/03/webdata/xsv might suit your needs for schema validation.