We currently have a custom sendTransaction method (implemented in #211) that estimates the gas of a tx. We could overload all the functions in a contract that correspond to a transaction to actually use them, so any user requesting a contract from zos-lib Contracts helper has this feature enabled automatically.
This would also allow us to roll back to using the default function syntax, instead of using the sendTransaction raw call.