@Anonymous
Hi, don`t know if this is what you need but it might work for you, first, whatever Post Processor you are using make a copy of it just in case this goes all wrong 
Next open the Post in Notepad++ and use the "Search" to find the "function onClose" section of the Post.
If your Post outputs a "Return to Home" for the X and Y axis something like this :-
writeRetract (X, Y); // return to home
This probably the safest place to put the tool change as the Z axis has already Homed to it`s highest point (Machine Z zero) and the above line will take the X and Y axis to machine zero so in theory your job should be clear of the tool change, if your machines control automatically moves all axis to a "safe" tool change position then all the better 
Copy and paste the code below where I have indicated and it should output a T* M06 at the end of the code just before the M30 line.
It will also output a G49 tool length compensation which should clear any tool offsets.
disableLengthCompensation();
writeBlock("T" + toolFormat.format(tool.number), mFormat.format(6));
if (tool.comment) {
writeComment(tool.comment);
}
However after all that I am really not that clear on how having a tool change for the current tool at the end might help, I would have thought that no matter if the machine does a change to the next tool in the changer at the start it would have to change back to the tool that is commanded at the start of your program anyway??
I would be really interested to learn about this, seems a very odd configuration of a CNC control, anyway best of luck with it

P.S. Here is what the code looks like at the end of my test program ;_
N160 M09
N165 G28 G91 Z0.
N170 G90
N175 G49
N180 G28 G91 X0. Y0.
N185 G90
N190 T1 M06
(8MM FLAT EM-MERLIN 55 DEG)
N195 M30
Regards
Rob