My top suggestion is to arrive in Southampton at least a day before the cruise, if you can, in case there is heavy traffic or other delays when coming from London.
On our first cruise out of Southampton, my husband and I flew into Heathrow in the evening, stayed at the Hilton Garden Inn near Terminal 2/3, and took an International Friends bus from our hotel in the morning that stopped for a few hours at Stonehenge and dropped us off near the port in Southampton. We were prepared to walk from the port to our hotel, but as the bus wasn't full, the driver was able to drop us off at our hotel.
Before our second cruise, we stayed in London for a day and night. We considered taking the train from Waterloo station to Southampton. The train station is walking distance from several hotels that are fairly close to the port. However, we decided that it might be difficult with a week's worth of luggage. Instead, we booked a van trip with International Friends that picked us up at our London hotel and dropped us off at our Southampton hotel. (We had booked a car service to take us from Heathrow to our London hotel.)
I did not consider renting a car, because I'm sure I would automatically drive on the "wrong" side of the road.
There are buses from Heathrow to Southampton and from London to Southampton, but I haven't tried them.
Both of our experiences with International Friends were great, as was our car service from Blacklane.
After both of our cruises, we took the Disney bus back to Heathrow, for simplicity and convenience.