I was recently thinking about password hashing (maybe caused by the PHC progression).
I started to think a little more about it and got stuck at this question:
What security properties do password-hashing related salts actually need?
I think they need to be globally unique (that's how I usually construct them). This means the same salt should never be used twice - by anyone. This would mean I'd had to choose my salt to be collision resistant resulting in 512-bit length and a CSPRNG for generation.
Is this overkill or are shorter and less defensive solutions also secure?
(this is basically the same question as the bolded)
If you need to make assumptions regarding the schemes, standard schemes (without pepper) should be assumed, like bcrypt, scrypt, Argon2, PBKDF2.