The best way is to lean how to ask great questions and to physically spend time with your users watching them work.
I don't have all the killer questions, but my favourite to help understand product roadmap opportunities is "What do you do 3 minutes before, and after you use our product?". That helps me understand where the opportunity lies to build a solid solution end-to-end.
Also, finding a set of users that feel comfortable having you hangout and work with them, taking notes and asking questions is invaluable. Just to understand their environment, the way they organize their work, and how they might communicate around the problems your solution is/could help with is incredible.
Every time I'm at an event and someone ask me what I do, I always ask them if I can "show them" and if they say yes, I have them find / download / signup and explore our app. Then I ask them questions about how they might see someone using it, who they think might be the best customer, etc.
It's not about not knowing, it's about continuously learning and testing different perspectives.
As for tools I use:
www.usertesting.com / especially new mobile tests!