Its not always an option, but another alternative to asking and observing is becoming. If you yourself (or someone on your team) have previously been or are currently a user then you can usually answer a lot of the questions yourself with much less of a bias and maybe find solutions you wouldn't be able to by just asking and observing.
While this can give you insight, I think there's a huge danger of thinking you are a _typical_ user when you are not at all representative. I have seen this happen with disastrous consequences. I think "becoming" can supplement, but never ever substitute for observation.