You want to be as close as possible to the center. Do not stay near train stations.
I plugged in your dates on booking.com. My suggestions:
Motel One Staatsoper (budget hotel, excellent location, 640 Euro for 6 nights ) has rooms.
Austria Trend Hotel Savoyen has rooms (my parents stayed there, room was large and very nice, huge bathroom, 518 Euro for 6 nights).
25Hours Hotel has rooms (689 Euro for 6 nights, best rooftop bar in the city, great location and near to the best Christmas market in town, Spittelberg).
K+K Hotel Maria Theresa has rooms for 761 Euro for 6 nights (location in excellent near Museumsquartier and Spittelberg, especially for markets, I've stayed in other locations of this small chain and they're all good)
Ruby Sophie Hotel is available (very cool hotel converted from a historic theater, trendy and good location for 590 Euro for 6 nights)