I have a solution:
governments should heavily fine companies that are subject to data breaches.
If it cost them real money (proportional to their market cap perhaps) to allow a data breach, I’m betting they’d shore up those holes REALLLLLLLLLL QUICK.