We adjust our prices according to occupancy rates. However you have to bear in mind that it goes in both directions, up and down.
For example, say I am at 80% occupancy (which is very low for us), I would drop my prices to encourage people in - I'd rather sell a bed for a few dollars less than have an empty bed.
Same goes for when I am 99% full and have one last bed to sell, I'll raise the price for the bed, at least initially. So for example if I arrived in the morning and I was already 99% full, then that last bed the price would go up 10% maybe. However as the day goes on, if I still haven't sold that last bed, I might drop it back down to normal price.
I don't think there's anything wrong with yielding in this manner. I know what you are saying about last-minute booking, but sometimes those people may pay more than the odds and sometimes less. Inhouse guests generally don't get the increased prices, I just charge them our standard prices if they extend.
A lot of software can do this kind of revenue yielding automatically based on your % occupancy, however I'm not sure it's wise just to go (purely) by this as there are so many other factors to consider, such as how busy it is, what events are happening in the city, the weather etc.
At the end of the day, dynamic pricing can bring a lot more money in, without stinging the customer unduly - I hate having empty beds and so will happily drop the price (within reason) to bring in more guests.