I ask for the maximum of information as possible to make a price average and then calculate the hours needed to develop this project. For example, 1 hour = US$50,00. So if I'll take 4 hours to finish that work, it will be US$200,00. I think this is the best way to give a fair price.
Of course some project takes more time than planned, but you need to put it inside the pack. So I always add one more hour just in case.