When sailing out of Miami, I always stay the night before and usually the night of returning, at the Best Western Hotel at Bayside (address is 340 Biscayne Blvd), along the port of Miami. It's about 6 blocks from the pier (by taxi - don't try to walk!) and a very nice hotel, I believe about 10 stories. Usually, will cost around 69.00 a night plus tax, etc.
The hotel is just across the street from the Bayside Marketplace Village area. This is a wonderful indoor/outdoor shopping area, with free outdoor concerts in the evening (w/dancing area), all kinds of wonderful restaurants (Bubba Gump Shrimp, Hard Rock and many, many more).
I know if you call the 800 number and get the number to the hotel and call direct....you'll get a better price. I always ask for the "manager's special".
Hope this helps!