I personally do script insertion and translation, and my preference is to keep as many of the control codes away from the script as possible. It really disrupts my flow if I have to constantly be thinking about [newline] or [end] bytes. Try to make a parser so the translator can use a simpler syntax which you transform into the mess that gets shoved into the ROM.
Some examples that might not be relevant to you: If there is a character limit per line, do that with a parser and save lots of headaches. For formatting new lines, maybe a simple [newline] is all it takes, but if your game has multiple ways for inserting linebreaks, let your translator use something simple like "Dear Sir,CRLFBlah blah" and you can switch CRLF to [newline1] or [newline2] or [scroll] or [nextpage] as appropriate. Even if end bytes are the same for all strings, why make your translator type that out? Use a parser to append end bytes.
In my script files, I keep all the original Japanese lines, and then below each string, I prefix my English line with a > and use a parser to deal with formatting, end bytes, and commenting out the translated Japanese text (while keeping the untranslated lines in). That was important to me for debugging.