Something I tried, which I hoped would work but doesn't, is to place redstone on one block and a repeater next to it then a piston on either side. The idea was to push the two blocks back and forth, taking advantage of immovable blocks. The hope was to shift between redstone and repeaters, so the delay is only there every other pass, but redstone breaks when blocks are moved.
Edit: I posted a suggestion to change this behavior, because so many design issues could be solved. But in the meantime I have to find another solution.
https://feedback.minecraft.net/hc/en-us/community/posts/360031674891-Redstone-and-Repeaters-Allow-to-remain-on-block-when-it-moves