Echoing what others have said--don't stay in a hotel inside the park. The lodging is both crummy and horribly expensive--they charge whatever they want, since they know they'll sell out. The park concessionaires have twenty-year renewable absolute monopolies!
The border towns are a better bet: Gardiner and West Yellowstone (Cody and Cooke City are not really practical alternatives). Everything in those towns is also decrepit and insanely overpriced (even a combo meal at McDonald's costs $12!!!), but at least you have some selection. And if you're in West Yellowstone, you're actually closer to some attractions than you might be if you had stayed inside the park (Gardiner--not so much).
Really, the only way to experience the park without being bled white is to camp. Stock up on supplies beforehand (the camp stores have sky-high prices and poor selection) and then set up camp and enjoy the park. Grant Village is probably the most central location, and it has showers, which are included in the campsite fee.
That fee, by the way, ain't cheap, but it IS Yellowstone. It's by no means too early to reserve a campsite--they'll be mostly gone by March.