The best practice is to create your own custom component(s) and store your modifications there.
If an update comes, you will have to re-test your components and modify them accordingly, if needed (with std_workflow you should be OK until the front-end is significantly changed). Note that in some cases you should also verify that a new custom component does not break other custom code.
I agree with Jiri. You should create a new custom component. You would then want to override the dynamichtml include(s). As much as possible, you would want to super the original include so as to stay as close as possible to Oracle's code.
There are some great tips/recommendations/code samples. in the book, The Definitive Guide to Oracle/Stellent Content Server Development, by Bex Huff. I'd highly recommend you read through it before beginning any customizations.