Option 1: If the macro is titled "AutoSave," it will run on each save. I believe you'll need to add the macro to the document project of your .ipt template to accomplish what you're looking for. If you want this behavior for existing files, you'll need to add the macro to their document projects. It will probably cause big headaches: if you want to make a change to the behavior of the macro, you will have to change the macro in part file that contains it. If you share the part files with others, they will have to deal with unexpected behavior (your macro will run every time they save, and 90% of users won't know what is happening and why).
Option 2: Write an addin that watches for save. The "DocumentEventsSink.OnSave Method" helpfile should be enough to get you started. This will require no changes to your part files. If you want to change the behavior of the program, you only need to update, compile, and load the addin.