Try the Intercontinental with the bayside view. You will be looking right at the cruise terminals. Great view.
Less expensive is the Holiday Inn Port of Miami on Biscayne Blvd.
Both are a 3 minute ride to the cruise terminal.
Splendour of the Seas 97
Serenade of the Seas 07
Liberty of the Seas 07
Jewel of the Seas 08
Caribbean Princess 11
Nieuw Amsterdam 11
Oasis of the Seas 12
Queen Elizabeth 12
Carnival Valor 13
Carnival Fantasy 14
Carnival Valor 15
I would go on Priceline, pick a hotel area either near the airport or downtown Miami, pick at least 4 stars, and start with a bid of $50. We've done that 3 times, each time we ended up paying about $75-80 for a room, and got 3 different hotels, one time the courtyard Marriott downtown, one time the Marriott by the airport, and one time the Wyndham by the airport if I remember correctly.
All 3 hotels were great, and since you pick the #of minimum stars you want the hotel to be, you really can't go wrong.
Hope that helps, Priceline has worked out great for us when we need one night before a cruise.