Lets say I have a system in which I save the user's passwords using SHA-2. Now I was just wondering would it be a good approach if I take the MD5 hash of the password and then compute SHA-2 for the resultant MD5 hash? Are there any chances of duplications?
There is always a chances of duplication's but most of the time the chance is fairly low (but higher than you would think, look at the birthday 'paradox')
Hashing twice will not give huge amounts of extra security, it is the security of hash 1 + security of hash 2.
To increase the security of password hashes you should salt them, this is give each password an individual random string to be appended to the password each time it is hashed, this will remove the threat of a pre-calculated table (rainbow table) revealing the passwords.
As mentioned in the security now podcast, there is nothing wrong with hashing passwords multiple times, actually it is encouraged because if you want to change the hash that your passwords are encrypted with, you dont have to wait for the password to be entered again to hash it with the new hash, you can hash all the old hashes with the new hash. This gives everyone the security of the new hash immediately.
I would also like to point out that MD5 and SHA-2 are bad hash functions for passwords. Password hash functions should be 'slow' and MD5 was designed to be fast (I don't know about SHA-2), you should use functions like Argon2, bcrypt, scrypt, or PBKDF2 which are really hard to speed up.
It will not have any benefit, as the purpose of hashing is to map data of arbitrary size to data of fixed size uniquely and irreversibly
PROBLEM WITH MD5 BEFORE SHA2
There are a lot of examples of MD5 collisions so your two pieces of data, s1 and s2, may lead to the same MD5 hash, which can lead to the same SHA-2 output.
I don't think this is what you want.