A very cheap and not that bad option is the Baltic Hotel Vana Viru. Right in Old Town and more than enough to just spend a few hours and have a shower.
Otherwise I've been at Hotel Bern a few years ago, which is alright.
Surely there are more high-end options in Old Town (Hotel Telegraaf) for those who want that. Nordic Hotel Forum and the Sokos hotel are right at the edge of Old Town and might be an option.
Swissôtel and Radisson Blu (skyhotel, not Olumpia) are closer to Old Town than the Hilton.