I like it. A few suggestions.
Deterministically derive a hard child private key from the brain key that does not give access to any of the other private keys that unlock funds in the wallet (I will call this key b). The public key of b is called B. Deteriminstically derive a hard child private key from b (I will call this key p). The public key of p is called P and the hash of P is U. Generate a one-time public key O. Use EC multiplication of O with b to get S. Regularly take an export of the wallet and encrypt the entire contents with S. Attach O and U to this encrypted blob to create the encrypted wallet backup. Now this encrypted wallet backup can be regularly backed up to an online wallet backup service that the user can optionally sign up for.
The service could provide the contents of the encrypted wallet backup if a user can provide proof of ownership. The proof would be a response to a random challenge from the server in which the response includes P and is signed with private key p (which can be derived using only the brain key). Then the server would send the user the encrypted wallet backup. EC multiplication of b (which can again be derived using only the brain key) with O (provided in the encrypted wallet backup) gives S which allows the client to decrypt the contents in order to restore the wallet. The service would not be able to get access to the wallet contents because it depends on the strong brain key. A user that used this service could restore their wallet on a brand new computer using only the brain key (which brings along all the other information, such as transaction history, favorites, up/down voted delegates, that cannot be recovered from a wallet master key).
Make it possible to export the brain key out of an unlocked wallet in encrypted form (encrypted either with the wallet passphrase or another custom passphrase). This allows users to store the encrypted brain key on paper or flash drive in their home or the homes of semi-trusted people, without worrying about burglars or the people they thought they could trust being able to access their funds if they get access to the encrypted brain key (unless they brute force the passphrase).
Build in secret sharing into the client so that the brain key (either unencrypted or encrypted by a passphrase) can be split into N keys in which M of them are needed to recover the (possible pre-encrypted) brain key. Allow the user to optionally specify the BTS public keys for each of the N keys so that the client can encrypt each of the keys to their respective recipient. Ideally this would be encoded in a form of a sequence of dictionary words so it is easy to communicate over the phone. The client would have the ability to take these encrypted shares, decrypt them from an unlocked wallet (assuming they were encrypted for an account that the wallet owns) and then re-encrypt them for a particular public key. The client would also have the ability to receive these encrypted shares, decrypt them from an unlocked wallet (assuming they were encrypted for an account that the wallet owns) and then put them back together to recover the original brain key.
The idea is that all of this could run offline on a live Linux environment. I would run the client offline, and generate a new wallet with a strong random brain key. I would then export the brain key using my wallet passphrase and break it up into M-of-N with secret sharing where I specify the N BTS public keys that I want it to split the brain key among. The client would then give me N phrases that consisted of a sequence of dictionary words (and the BTS public key that each is associated with). I would then communicate each of these N phrases to their respective person (my friends and family) who would store these phrases in their own wallets. I would also export the encrypted brain key and write it down on a piece of paper I keep in my home. I could then create whatever transactions I want with my offline wallet, or receive funds to an address to keep in cold storage, and then shut down the machine.
Now, pretend that my paper backup was stolen. I should move the funds from my cold storage wallet into another cold storage wallet before the thief is able to brute force my wallet passphrase. But I need to be able to recover my brain key first to do that. So, first I boot into the live Linux environment and create a brand new wallet with a new wallet passphrase. I make sure to export the wallet's encrypted brain key and write that down on a new paper backup. I get the BTS public key of the account this wallet generated for me. I then ask M of my N friends and family to whom I gave the secret shares to use their wallet to export the shares they stored in their wallet in a form that is encrypted for me (specifically to this new BTS public key that I share with them). Each of them do this and communicate the phrase their wallet exported to me over the phone or in person. I take these phrases and put it into the new wallet I created running on the offline machine and the client uses these phrases to recover my original encrypted brain key. I then type in my old wallet passphrase to decrypt the encrypted brain key. The client can now use that brain key to gain access to the balances in my old wallet and move them to an account created by the new wallet. Now my funds are safe again. I will also likely repeat the secret sharing process with this new wallet to protect myself against future theft of my new paper backup.