Versioning the long running workflows seems to be the way the workflows get upgraded nowadays. While there still might be an option to "modify workflows on the fly" (whatever that means, in fact), it may as well be too cumbersome and tedious to implement.
Versioning the workflows and WCF message routing seem to be the preferred way. Here is a series of articles on the topic. This series works on the Workflow Foundation 1 (.Net 3.5) but should be applicable today. Keep in mind there is WCF routing available today to help with the transition between the two workflow versions.