Hotels in the heart of cities are always expensive. Hotels out-of-town are a pain 'cause then you need to drive into the city and struggle to find scarce, costly parking. My solution to this is ingenious.
Get the city's subway map. Find a hotel on the out-skirts of town that is walking distance from the last stop on the subway line. After checking in, you can park at the hotel, leave your car/bike there the whole trip, and pop into town whenever you want by just walking to the subway. Getting in and out of the city is easy and the frontier hotel costs a fraction of the over-priced ones.