Since your pic only shows the timeline, I won’t comment on any of the design problems you mentioned, but your ramp can be made to follow your adjustment layer using expression. Try something like this on the ramp’s crosshairs:
adjuster=thisComp.layer(“Adjustment Layer 2”).position;
X=value[0];
Y=adjuster[1]+value[1];
[X,Y]
Mylenium
[Pour Myl