This doesn't directly answer the question, but it's too long for a comment. If it's out of place, feel free to delete.
As others have said, off-season rooms are usually available without a reservation (and often below normal/advertised rates, through sites like booking.com, priceline, etc). But one strategy you might consider employing is taking advantage of the free cancelation policy of many hotels, if you cancel 24-48 hours in advance.
First, many hotels extend their free cancellation policy to the duration of your stay, meaning that you can cancel mid-reservation, as long as you give notice 24-48 hours before you intend to vacate the room.
Example: With a reservation from July 1 - July 8, you can inform the hotel on July 3 that you intend to leave July 5, and you won't be charged for July 5-8. Of course, this varies by hotel (and perhaps by booking site), so read the fine print before counting on this strategy!
For hotels that don't allow mid-reservation cancellations, you can make two separate reservations, as long as the second has a free cancellation policy.
- Make a reservation for July 1-4 at Hotel A.
- Make a second reservation for July 5-8 at Hotel B.
- If you decide not to stay in the city, simply cancel your reservation at Hotel B on or before July 3.
This doesn't provide perfect flexibility, but it provides some.
Using either strategy, you may also have the option to look for a cheaper/nicer/cooler/hipper/better hotel after arriving in the city, and change hotels after you've arrived (even if you do stay in the city).