So here's what I usually do when I want to surprise my sister (she's the only one left). Throughout the year, I listen carefully to what she says. When she mentions she needs something and cannot buy it at the moment, then I know this could be a great gift.
Another thing you can do is to know what the person likes - or not. A person who doesn't like cooking doesn't need another machine to help in the kitchen. Or someone who doesn't read has no need for an e-reader.
The better you know the person you want to surprise, the better you'll be able to find the correct present. Like the one I'm giving my sister shortly. I know she doesn't expect it, so the surprise will be much the bigger and I'm sure she'll love it.