I am not very good with web securities but I wish to suggest a way around this password hashing issue.
First of all, on the registration page, generate a random salt (client_salt) to hash the password then send this salt in a hidden input to the server.
On the server, store this random salt from the client side and then generate another random salt on the server side and use it to has the hashed password before storing. That is, stored_hash = hash(server_salt + client_hash).
When authenticating login on client side, browser sends the user_name to server to retrieve the two salts and then a one time salt which is generated and stored in the server sessions. Now in the client side, password which is stored in browser's secured memory is hashed twice with the client_salt and then the server_salt. The hash is then hashed with the one time salt before transmission to the server.
On the server once again, the stored_hash is hashed with the one time salt stored in the sessions before hashed passwords are compared.
This would ensure that on the registration page, if someone intercepts the password used for the registration, only the hashed form of it would be available which is also not useful since it would be rehashed again.