Formula for TDC & lift?
It can be tedious but if you have a piston with no valve reliefs and you think you're close this is how I do it: Put a little Dykem on the piston roughly where the valve will hit and on the edge of the valve. Install the head with a "known" compressed (used) gasket and rotate the engine with the degree wheel bolted to the crank, checking springs on the #1 valves, and dial indicator on the retainer. The intake valve starts to open during the tale end of the exh stroke. So starting at .005 lift on the intake lobe I'll measure the distance by measuring and recording the amount of free space by pushing the intake valve down vs the cam's lifting action. Rotate the crank 5° and do it again... That distance will decrease as the piston continues up the bore and then starts down. Repeat until the distance begins to increase following the smallest reading. Then repeat with the exh valve. When the head comes off, the valves will have marked the piston top where they touch, and the valves will have been marked from the contact so you can see where the tight spots are. I do that because it's not always easy to make a deeper relief in a factory piston and you don't want to remove any more than necessary. The closest point on the intake is usually after TDC on intake stroke, and a fast rate lobe can make it worse. You want .080 on the intake, .100 on the exh.
I'll add the clay method works well too, and I use it if I know I have some clearance but I'm not sure how much. I had trouble with clay pealing up and not getting a clear picture of where they needed to be, so I started doing it this way when I know I'll need relief work.
Also - go very slowly and if they hit, stop and record the lift and degee so you can figure out the reliefs.