Nobody ever asked me to share a better method, I've never said that I'm not willing to share, this is just your retarded assumptions.
Here's one:
QAC detours functions such as hook.Add() and uses debug.getinfo() to get the name of the Lua file that the code is being ran from.
If your on an early version of QAC, bypassing this is as simple as detouring debug.getinfo().
If the server is running with an updated version of QAC, RunStringEx() your code with the identifier of another Lua file that exists in Garry's Mod by default.
RunStringEx() is a rather poor method though.
The best way to do it would be to get the original hook.Add().
Code:
local _, hook.Add = debug.getupvalue(hook.Add, 2)
Now since we have a local version of hook.Add which isn't detoured, we can add hooks silently.
An alternative for silently adding hooks would be to have your Lua file run before autorun which isn't really possible in pure Lua.