Unfortunately, the design of node-anchor system makes it almost impossible. The spirit is that despite all transformations, the positioning of nodes is done with respect to reader's point of view.
For example, in node[anchor=north]{BAD} the anchor is located near the apex of the letter "A"; in node[above right]{LOF}, another way to say [anchor=south west], the anchor is located near the corner of the letter "L".
There is a brutal way to transform nodes as well. However this is not what you want.

\documentclass[border=9,tikz]{standalone}
\begin{document}
\tikz[transform shape,yscale=-2 ]\draw circle(.1)node[anchor=north]{BAD};
\tikz[transform shape, rotate=60]\draw circle(.1)node[anchor=north]{BAD};
\tikz[transform shape,yscale=-2,rotate=60]\draw circle(.1)node[anchor=north]{BAD};
\end{document}
In practice, you can make your own positioning options as follows:
- For simple purpose, we access the current transformation matrix and decide if we need to replace
left and right by eachother.

\makeatletter
\tikzset{
relative left/.code={\ifdim\pgf@pt@aa pt>0pt\tikzset{ left=#1}\else\tikzset{right=#1}\fi},
relative right/.code={\ifdim\pgf@pt@aa pt<0pt\tikzset{ left=#1}\else\tikzset{right=#1}\fi},
relative above/.code={\ifdim\pgf@pt@bb pt>0pt\tikzset{above=#1}\else\tikzset{below=#1}\fi},
relative below/.code={\ifdim\pgf@pt@bb pt<0pt\tikzset{above=#1}\else\tikzset{below=#1}\fi}
}
\tikz\draw foreach\i in{1,...,9}{[rotate=\i*40](2,0)circle(.1)node[relative left]{rel- left}};
\tikz\draw foreach\i in{1,...,9}{[rotate=\i*40](2,0)circle(.1)node[relative right]{rel-right}};
\tikz\draw foreach\i in{1,...,9}{[rotate=\i*40](0,2)circle(.1)node[relative above]{rel-above}};
\tikz\draw foreach\i in{1,...,9}{[rotate=\i*40](0,2)circle(.1)node[relative below]{rel-below}};
- If one want to input angles and get discrete anchors accordingly, we borrow some macros from
[auto]

\tikzset{
discrete anchor by angle/.code={
\pgfpointtransformed{\pgfpointpolar{#1+90}{1pt}}
\tikz@auto@anchor
}
}
\tikz\draw foreach\i in{1,..., 8}{[rotate=\i*45](1,1)circle(.1)node[discrete anchor by angle=225]{discr-ang}};
\tikz\draw foreach\i in{1,...,90}{[rotate=\i* 4](1,1)circle(.1)node[discrete anchor by angle=225]{discr-ang}};
- If one want to get continuous output, we follow @Qrrbrbirlbel's answer from the link in comment

\tikzset{
continuous anchor by angle/.code={
\pgfpointtransformed{\pgfpointpolar{#1}{1pt}}
\pgfmathanglebetweenpoints{\pgfqpoint{-\pgf@x}{-\pgf@y}}{\pgfpointorigin}
\def\tikz@anchor{\pgfmathresult}
}
}
\tikz\draw foreach\i in{1,..., 8}{[rotate=\i*45](1,1)circle(.1)node[continuous anchor by angle=225]{conti-ang}};
\tikz\draw foreach\i in{1,...,90}{[rotate=\i* 4](1,1)circle(.1)node[continuous anchor by angle=225]{conti-ang}};
- One might want to input discrete keys

\tikzset{
discrete anchor by key/.code={
\csname tikz@label@angle@is@#1\endcsname
\tikzset{discrete anchor by angle=\tikz@label@angle+180}
}
}
\tikz\draw foreach\i in{1,..., 8}{[rotate=\i*45](1,1)circle(.1)node[discrete anchor by key=above right]{discr-key}};
\tikz\draw foreach\i in{1,...,90}{[rotate=\i* 4](1,1)circle(.1)node[discrete anchor by key=above right]{discr-key}};
leftstill refers to left in the old frame, not in the mirrored one. – gernot Aug 05 '16 at 14:55180to it? – cfr Aug 05 '16 at 16:25