with my experience, i just update the program. You may have an error about insufficient space, in that case you have to redeploy the program (with a new program id) or extend the available space.
I'm not aware about any best practice around updating programs