There are some select instances where you might want to change the clean engine code, but you should have a very good understanding of the implications, as things can get very messed up if you are not careful.
The scripts are automatically backed-up, saving every version whether made by your team or the auto-updates, so it is not necessary to keep your own backups. Just use a diff program along with the script editor history panel to view an old version, then copy and paste the old code into the script and submit.
If you do make changes to clean engine scripts, then I agree that you'll want to make note of the scripts that you changed. Then, when an engine update comes out, check your list of changed scripts to see if any were overwritten, since not all updates change the scripts. Also, examine what changed, if anything, between the previous engine update and the new one. If they put out changes, you most likely would want to merge those changes into your own edits and submit a hybrid version.
The E_ scripts do not get updated in the engine updates, so you don't need to worry about changes to them being overwritten. However, you might wish to keep them as-is for reference sake and make copies of them using your own prefix just to separate your work from what was there.
This caveat, of course, is that since E_ scripts do not get updated, they might become outdated as the engine changes, so be on the lookout for that.