A piston stop is considered by many (including myself ) to be THE most accurate way of finding TDC.
Ideally, the Stop should be bang over the Crankshaft Line so as to remove any error from the Piston to Bore Clearance, but anywhere on the Crown will give very satisfactory results.
You can rotate a crank a couple of degrees at TDC without a dial gauge registering any movement.
The most accurate place to measure piston movement is 1/2 way up (or down) the bore.
When finding it with a Dial Gauge, the normal method is similar to that of using a Piston Stop in that you are not trying to measure TDC but to the same point either side, measuring those angles and dividing by 2, much the same as you've suggested here.
The only other points to keep in mind when measuring with a Dial Gauge is again to centre it over the Crank Line (and in my books, it's not option when using a dial gauge) and always measure on either the up-stroke or down-stroke, but don't take one measurement (for example) on the up-stroke and the other on the down-stroke or you'll have some serious errors.