As the message templates are quite complex, especially the system-flow templates, with their Smarty templating structures, and they sometimes are updated, you would rather not edit them.
But if you have users using other languages than English it is almost essential to translate them.
Is there any best practice to manage this? Jon G suggested using a Smarty-enabled editor which is at least one step towards not messing them up. But it doesn't resolve the issue with diffing against the system version when all the text in them has changed to another language...