I think we talk about hundreds and maybe even thousands. There are 372 exchanges listed on coinmarketcap right now and I believe most of them running their own node.
I definitely hope they are. Is 372 nodes enough? In the theoretical scenario of 1 CPU 1 Vote, the number of nodes would've be in the tens of thousands. Businesses don't usually run their own node, at least from what I've observed, most are using either coinpayments.net and bitpay. It's way easier to have a service do the payment for you.
There are about 10000 nodes, I think it's enough. 1 CPU 1 Vote is about mining, not about full nodes.
If you accept small payments regularly and don't operate with significant amount of BTC then bitpay or coinpayments is ok for you, but if you need to keep a lot of btc and be sure that transactions you observe are real you need a full node, maybe even several of them.
Any Bitcoin Core wallet is a full node actually. I have one. And also run bitcoind on one of my servers. It uses about 300Gb of disk space, but I'm ok with that. It's affordable. TRON full node consumes much more resources for example.
IMO, disk space and internet bandwidth is scarce for the average joe. When alternatives like Electrum and other SPV wallets exists with little to no synchronization needed, most would choose them over a full node.
When alternatives that are better than running a full node exists, the average user won't run a full node. The tangible benefits is just too little.
I agree that for average Joe Electrum can be good enough, but there are still a lot of cases when full node is needed for businesses and even for regular users.