I always stay at the Holiday Inn downtown across from Bayside Marketplace. They don't have a shuttle, but taxi's cost a flat rate of $24 from airport to downtown hotels. Taxi from the hotel to the port are around $8. We usually cruise with a group of 60+ and always use taxi's.
I don't think many of the downtown hotels have free shuttles. You might try the Intercontinental Hotel or the Marriott Biscayne Bay. From what I've read, the hotels out by the airport have free shuttles to the port. But there's nothing to do out there.
Bayside Marketplace has lots of restaurants, shopping, music, tours of millionaires row by boat, etc.