It would kind of solve the problem if a norm emerged that these types of companies first send a confirmation email with the phone number they'll be calling from so you can add it to your caller id. But it's a lot of extra work for people and I think it's probably asking too much of the average non technical user.
Even better, why couldn't we have something like SSL certificates or DKIM for phone calls? People for the most part understand the lock icon and a verified flag in a user interface. Then a call could be signed to know that it's coming from a particular entity.
It seems like some other countries have solved this problem by moving away from regular sms and phone calls and instead letting a private company own all communication, like WeChat in China. Which obviously is quite problematic in other ways, but honestly at this point that would be an improvement in my opinion, if businesses started only contacting me through Facebook Messenger or Whatsapp so I could see who every message is associated with.
Needn't be a walled garden.
Though migrations from PSTN to various alternatives is also fairly likely. Much of the present "social media" / apps space is actually probably a jostling for supremacy / positioning in this regard.
It was a user configurable white list solution in which an entity can specify all the ways they may contact you (numbers, addresses, and optionally signing or encryption public keys), and you can white list the organization as a whole.
Messages purporting to come from one of these organizations that fails the self specified check can be safely ignored.
At the time, blockchains didn't exist, and the missing piece of the puzzle was a distributed database not controlled by any central organization.