As someone who shipped a lot of packages through USPS, the solution is very simple. Get a real time tracking system in par with UPS and FedEx (not bullshit overnight updates) and make the insurance for package claims less of a joke than UPS and FedEx.
As bills and correspondence mails have gone down, online buying and selling has taken it's place. But, most people are uncomfortable sending their packages through USPS. The tracking is only delivery confirmation and that costs extra at the post office. With cell phone technology, it should be trivial to implement real time updates.
If a package is lost, the insurance system is a joke. It takes forever and you can only correspond by mail. The insurance is ridiculously expensive and when you need it, it's a massive headache.
If they just fix those above issues, then lots of business would come swarming to them from online shippers.
Another thing, their rates are kinda screwed up. For heavy packages, the rates are much much higher than UPS and FedEx. It comes down to only making sense to send packages by USPS for under 4-5 lbs. They probably should also do the sweetheart deals with big companies that UPS and FedEx do - like shipping for pennies on the dollar for large volume shippers.
And, there are some sink holes like in Bell, CA that if packages get there, they come out weeks later (famous for losing Oscar votes). There are a few of them across the country.
I think USPS should move towards being more geared towards packages. But, that's just my end of the pond where I shipped packages through USPS. Maybe junk mail is the cash cow, or certified mail.