It seems to me that they should exchange a key that's based on the private key and that it should be done in a rotating manner. This would essentially work like an OTP while using an accurate clock alongside it. This wouldn't be a unique application. It wouldn't be unlike some automobile security features -- except it's never broadcast over the air, and the allowed time would be measured in milliseconds. As it'd be tied to a clock signature, it'd make it difficult to do anything with it, even if they managed to capture it.
That seems like it'd be a good solution. It's not even unusual tech. Granted, it was not my major and I only had a few courses, but good crypto is pretty hard. Fortunately, in this case, the work has already been done. We have the building blocks for it. We just need to assemble them properly.
Add to that some interface security... For example, after 10 guesses, the system slows down, and you have to wait to try another password. After each failed password attempt, you increase the wait time. After x-number of failed attempts, the TPM data gets wiped, you lose the data, and your only choice is to do a clean install.
Also, it should be clearer for the generic end-user. They should know that encrypting their data means that the data is lost if they forget the password/passkey/PIN/etc... From what I've seen, people are genuinely surprised that encrypting data actually encrypts the data and that there's (usually) no way to recover said data. If it were possible to recover the data, it wouldn't be worth encrypting in the first place.