Of your destinations Zagreb is the only one I've visited. My hotel choices are usually more basic than the Rick Steves standard, but in Zagreb I used the Best Western Astoria, which is fine if you're not looking for fancy or super-stylish. I'd call it "reliable". You might prefer to be closer to the historic center, or something with more "Croatian" atmosphere.
The BW is between the train station and the Old Town. It's quite convenient to a number of large museums. The historic area (which is really nice) is within what I consider walking distance but not terribly close by.