Endorsements aren't as much of a problem if they're not institutionalized in the form of superdelegates. Saying "I think you should vote for X, for these reasons" is a pretty acceptable form of politics - a desirable form, in fact. It's good that you'd be enthused enough about a set of values and a candidate who would uphold them to argue for them! It's more of a problem when that carries a signal to primary participants saying: I'll cast my superdelegate vote for them, they are now 250 superdelegates ahead before your stage in the voting has even begun, why should you even bother?
Of course, it's true they can switch, and that they haven't overruled the process in a rather long time. Nevertheless, it creates narratives of inevitability which require an absolutely exceptional candidate to shake, and otherwise advantages mediocre candidates at the cost of good candidates.
The other part of the invisible primary is money, yeah. Given this is a party internal affair (supposedly, anyway), you could just stick a straight financial cap on primary expenditures, and I don't think that would fall foul of the free speech problem.