I am visiting Vienna in April next year and am thinking of booking a hotel via one of the hotel providers like booking.com. Is it all right to book at free cancellation rates now and then change to pre-paid rates so as to take advantage of the better rates?
Technically? Sure. There's nothing stopping you from pressing the required buttons to do this.
Practically? This isn't the best idea. The thing about prepaid rates is that they generally are offered at a discount - because you are locked in and can't cancel. The benefit of this to the hotel diminishes as the date of the reservation approaches, and with it, generally the generosity of any discount they might offer you for paying in advance. What you'll find is that as your date of stay approaches, the prepaid rates will slowly rise (or, depending on the way the hotel does things, very abruptly rise) until they eventually converge with the flexible rate.
The only reason to do something like this is if your other travel plans aren't yet finalized (i.e. flight dates or time off work are a bit in flux or something), but you're concerned about the hotel selling out of rooms (perhaps because you're traveling to $city for some kind of big event that causes hotel rooms to sell out.) Even then, it kind of feels like more trouble than it's worth to me.