Just as an alternative to Mallaig the is the ferry from Uig on Skye, landing at Lochmaddy on North Uist.
Jon
Heck of a lot more driving from the south, though.
My preference would be the Oban ferry if it is back in service next year to keep the road miles to a minimum. If so, I'd look at tacking on Shiskine and Machrihanish on the way up.
Then maybe back to Mallaig and play Traigh before the long schlep home...