I would use as much context that a user is willing to provide me - location, recent email messages, voice call transcripts, unread messages, web browsing history, etc - to try to anticipate what the user is likely to query for.
For example, a sales engineer who receives a technical query in his email inbox is likely to be searching for product information once behind his/her laptop. Also, a student that lands in NY JFK airport one a morning, will likely be searching for restaurants in the vicinity by evening.
I would focus on anticipating such queries (among a range of others) in advance. And would let the user choose which ones he/she wants answers for.
I'm sure this is easier said than done, but is a direction I think is worth exploring.