The solution to this is maturity. The endgame is to be able to create smart contracts that are as readable to a layperson, if not more readable, than legal contracts. And to come up with a set of standard smart contract templates vetted by programmers, just as today we have a set of standard legal contract templates vetted by lawyers.
That, and encouraging people to actually read what they sign, whether it's a pen-and-paper signature or a cryptographic signature.