background-size values of
contain are supported in IE9+ and can simplify getting your images to resize as you want them to.
The folks at Mozilla have a nice intro to background images, perhaps that’s of some use.
I use min/max height in media queries occasionally, normally for things like top/bottom padding. I think it’s generally more trouble than it’s worth though.