Yes, it is a balance. I would personally consider a 5 year contract excessive based on the risk of things not working out but it would play to the strengths you indicate while giving the service we would expect from a signing.
Equally, an ambitious player may feel trapped by the idea of a 5 year term and it may make it less likely for them to sign.
I think we are getting it about right currently.