What is the best practice way to apply a patch?
Submit the patch to the target project's bug tracker - the best way to get patches out there is to contribute them to the project.
If that won't work for you, the practical option is to do as you suggest here:
Should I apply the patch to my dependency and rebuild having a different version number and then modify each and every pom/feature to make use of this patched version?
You don't mention if the patch is a runtime or a build-time dependency. The approach you take will vary depending on which it is.
I know my reply isn't very specific, but the question of managing the versions and projects is fairly general, and people do it differently, depending on what they want to get out of it.