A tried and true method is to use a gig bag, lots of bubble wrap and a good corrugated carton.
Some frequent shippers say the bag protects better than a hard shell case. I buy inexpensive OK quality bags just for shipping if a bass doesn't already have a bag or a case.
With lots of places now selling online and shipping out more than they used to, it's getting harder to find decent shipping cartons for free or cheap. Resist the temptation to pack a bass in a carton that looks and feels like it has been used once too often. For a high end bass, just buy a new carton.
The shipping service you use makes a difference. UPS is easier to deal with, but FedEx Ground takes better care of the goods. At least in my experience. UPS is so much better organized and integrated than FedEx Ground, but the parcel volume is so much higher at UPS that more bad things happen to goods in transit.
Don't mark the carton with warning labels (Fragile, Baby on Board, etc.), because that seems to inspire the primates that populate the terminal docks to add extra abuse to the parcel.