One of the things I've done with regard to passwords is to make my own password generator, but it is not in the traditional sense .. I have a personal system of very to remember, but lousy, passwords, and the generator will accept this lousy password as an input. The password is hashed by several algorithms thousands of times, and the resultant raw binary string will be Ascii85 encoded at whatever length I choose. (Ascii85 offers lots of special characters, but I actually have run into the situation where sites won't accept some of them) The same lousy password will always produce the same long and strong result, and that's what actually gets passed.
So basically I'm just introducing another level of password hashing before anything leaves the computer. Well, I thought it was a good idea, anyway 🙂