Hashing a password with SHA256 on the client then bcrypt on the server
A problem with your proposed solution is that the digest of the password is now "password equivalent". So, what does hashing it before sending it gain you? 

That said, I don't think either of your concerns are concerning (or should be concerning). For the first, see this. If anything, most passwords will have less than 256 bits of entropy anyways. For mixing hashes, see this and this.

A better solution would be to use SRP for which a javascript version already exists.

That said, you are aware of the problems with doing crypto in javascript, right?