The way it works where I live is that if the tax office has to refund you some money (or the government wants to give you stimulus money, or whatever) is that by default it gets deposited to the bank account that was last used to pay any tax that was owed. There are always going to be oddities (e.g. a refund needs to be given to a person who has never paid tax, or you have changed bank accounts since then), but the vast majority of the time this will be the right account to send it to, and it's OK to have manual intervention to handle the rest.
I'm not sure I understand why the USA can't do this, to solve the first problem listed (paying people directly). I'm not sure it requires government intervention to solve the other problems (instant payments from one person to another are common outside the USA, for example). What other advantages does SSN-as-bank-account have?