I've used Rome Cabs for private door to door transfers to the port and between the port and the airport. They charge 150 euros for a transfer for 4 people to the port, this is much less than the cruise line's transfer and it will take you to where you need to go in Rome, not one of the cruise line's preferred hotels.
As others have mentioned the only other alternative is the train, I've never tried this. I have travelled on X out of Civitavecchia, and knew two people who wanted to join our group for the transfer to the port but they could not as the van was full (we had a group of 7 and the van couldn't accomodate 9 people), they opted to take the train and then had to walk with their luggage in tow to the ship as there were no taxis available at the train stn. The port is fairly large and the train stn is NOT near the port check in area, so take this into consideration.