Heo may be on to something there; if the timing chain is worn out and jumped a tooth, that would help to explain the low compression test numbers. I have never seen compression test numbers that low before. Does the engine start OK, or does it need a lot of cranking before it fires?
+1 on using the welding rod to check the stroke; much easier than trying to look at the crank, and I don't think all FE cranks are marked anyway. A 352 will have a 3.5" stroke, a 390 will have a 3.78" stroke, and a 428 will have a 3.98" stroke. For the accuracy that you can mark on a welding rod, figure, 3-1/2", 3-3/4", or 4". Doing this is easier than it seems, and a lot easier than trying to read the crank.
On the timing chain issue you could check the cam timing. If you can put a timing tape (<$10 at Summit) on the harmonic balancer so that you have 360 degrees marked, and then pull the right side valve cover and put a dial indicator on the valvespring retainer for the #1 intake valve (second from the front on the right, or passenger, side), you can watch the dial indicator and tell at what crankshaft degree the intake valve starts to open, and at what degree it closes. Post those numbers and we can probably figure out if the chain has jumped.