Zend certified PHP/Magento developer

Should I avoid overriding? What can I do instead?

I want to add my custom fields and edit grids in admin sales order create page. The layout file consist of blocks and child blocks (link to layout). I would like to add my block after ‘search’ block. Sadly I can’t do this because it is child of ‘data’ block witch has its own template (link to template). As discussed here the only way to add my own block is to override original template (and possibly the class also). Doing this I would have to copy the original template file and add my modifications.

Now my questions:

  1. When in future I would like to update Magento and something has changed in original template file then my module will break. Is there way to avoid this? I am thinking of injecting my blocks with JS to avoid overriding big template files, but then again when ID of element changes, that I used to inject my code I still have the same problem.

  2. How should I consider 3rd party modules that might want to do some changes in same layout/template?

  3. Is it something that I should worry about or am I just overthinking? I just have to accept that I have to test my module before every update and change my templates/classes when needed?