I totally agree with the way you are adopting to calculate fuel efficiency but there is a slight issue with this one. My personal experience is that when you ask the guy at the petrol pump to fill up the tank to the top, it is up to him to decide when to stop filling it. My experience tells me that two different persons fill up the tanks to two different levels. For instance, one person may fill in 27 liters while the other one may fill in 28 or even 29. You must remember them asking you sometimes,"Theek hai sir". So there is no automatic gauge which tells them that they do not need to fill more or to tell them that they need to fill more.
The reserve gauge in the car always blinks as soon as you hit the 5 liter mark (that is in Suzuki Alto). So, whenever it hits the reserve mark, one can immediately move to the nearest petrol pump (which in case of Islamabad are mostly within a vicinity of 2 to 3 kms) and fill the car to the top. Take the readings, for instance, 25 liters and then note the mileage, and note the mileage again when it hits the reserve mark. Divide the total kms traveled by 25 and you would get the exact fuel efficiency. That's my plea. What do you think?
I agree though, that the tank capacity is probably not relevant here. But, still, it helps in certain ways.