None of them should be used because none of them were ever made for the purpose of hashing passwords.
Cryptographic hash functions such as SHA-512, Blake etc. are completely safe to use for data integrity purposes, but are practically useless for hashing passswords, as they are trivially easy to bruteforce on commercially available GPUs, even PBKDF2, a common Key Derivation Function.
Planning 50 years ahead is not possible, as it is impossible to guess what kind of hardware will actually be available then. However, planning for the next few years is a feasible venture, and as such, it is best to use a hashing algorithm dedicated for passwords, such as Argon2, which won the Password Hashing Competition, or use another hashing algorithm that made it to the finals such as Yescrypt or Lyra2.
When you hash passwords to store them, always remember to do these two things:
---Never reuse salts, or any additional data used in the hash function.
---Set the parameters such that it makes bruteforcing the passwords infeasible, but practical to still use (i.e. number of bytes generated, iterations, memory size etc.).
It would also help to ensure that passwords are checked against a list of exposed passwords, such as through the API provided by Troy Hunt, and also implementing your own checks so that the passwords have enough entropy.