Remember that hack called "Rampage", where it played Quake sounds?
It only reads memory therefore should be undetected.
However, this gets me thinking (I am a noob at this)...
Why don't we just only read memory about other players' locations, and make an external ESP that simply draws an overlay OUTSIDE the game window? Then all you have to do is run the game in windowed! (but of course people are dumb and they make it obvious, and it gets patched).
We can avoid detection even more, by applying a "dropper", and make the hack's window title change constantly, and remove any hack-related key words by generating a random "cipher" of sorts. Example:
Click here to Dog.
Click here to Watermelon.

And in "key.txt":
Dog = ESP
Watermelon = Nametags

Each time the program is run, a new "cipher" is generated.
And of course, we'll scramble the .dll as much as we can (scramble header, add random garbage, change signature, etc), and use less common injection methods (example: thread hijacking)