The problem here was people reusing passwords.
You really aren't going to stop people doing that.
But it could have been easily prevented by forcing multi factor authentication.
I think that should be the minimum required by any company holding personal information.