When a user makes a decision in my BPF, for example a denial of a request...they select disapprove from the option set, and then I use an OOTB workflow on the BPF entity to set the active stage.
The workflow then kicks off a script that "hard refreshes" the form by setting a refresh Boolean (two option field) to true.
The script consists of a call to:
Xrm.Utility.openEntityForm(Xrm.Page.data.entity.getEntityName(), Xrm.Page.data.entity.getId())
and the active stage is set for the user after the form reloads. Even if you use the javascript to set the active stage...that action WILL NOT show up until the form is refreshed. In this manner, you automate the refresh process, and give the instant gratification that your users and PM want from you.
I actually have the openEntityForm call on a 1500ms setTimeout() function. I hope this helps, it's been good for my needs as far as redirecting the user to a desired BPF stage.