Are you setting your points with a dwell meter, or feeler guages? The points gap can seriously affect the timing. I always set mine with a dwell meter, then run the car around the block, then reset with the dwell meter, then adjust the timing. I normally find that the timing stays pretty good after this.
With the problems you are experiencing, I would check that the mechanical advance weights are operating correctly, and not sticking, and also check that the vacumn advance unit is operating correctly. It is not beyond the realms of possibility that the rotor arm is moving a little on the end of the distributor shaft either. They are not always an exact fit. Distributor shaft wear will cause problems getting the points gap right, and may cause the timing to fluctuate a little, but wouldn't cause the timing to go out.
One last suggestion, check that the distributor clamp is tight. I know this may sound silly, but several times I have found the clamp is loose, because the bolt feels tight, but it is actually tight in it's thread, and not fully tightened down onto the clamp.
I'm starting to have problems getting hold of decent quality points these days, so I would say that electronic ignition is definately the way to go. I'm tempted at the moment to fit the Aldon Ignitor system.
Hope this helps