We normally rent a car in Ft. Lauderdale and drop it off in Miami. The closest I ever had a drop off was around the Miami airport area. They use to shuttle to the port, but now you have to take a taxi.
Check with Alamo. They have pick up and drop off at the pier. In January when I came off the NCL Sun I picked up a car at the pier. They call it "at the pier pickup", but their shuttle actually picks you up at the pier and takes you to the closest location.