Rig scale and mirror trouble

Dear Blenderers, I am once again in need of your qualified help with a slight problem and a small question.

So I have this simple piston rig which I was hoping to use multiple times scaling it as necessary and placing all over my model. The problem is that when I scale it and applyu the scale the two children objects slightly change their position. And it happens every time I use CTRL A/Scale, even if I don’t actually need to apply scale (was doing it just to see how far this displacement would go). What did I do wrong with my rig?

And another question, how do I mirror and flip it along, say, X Axis? I can mirror the rig using 3D cursor as a pivot, but it doesn’t orient the rotation. Am I missing something?

Here’s the file just in case…
Piston_Rig.blend (752.8 KB)