Trevor,
I guess the most sensible approach to do such things is to create a new bundle and override the stuff in the "old" = "original" bundle. For example: when you have a better version of a snippet you can just move the snippet from the old bundle to your new one, keep its scope selector and keyboard shortcuts etc. And then change it. When you update TextMate and/or when you update from the subversion Bundle repository you will get new versions… which then collide and whenever you access that command/keystroke it will give you the popup menu -- so you will know there might be changes in the original bundle; but you can also have multiple versions of a command or snippet around this way.
I have written a short how-to for the wiki on extending language grammars at http://macromates.com/wiki/Main/Howtos#bundleExtension
Dan