Richard, I got your point now.
my case is slightly different. The original thought was just to have a set of function wrappers that call ArcObjects to do a bunch of things, such as spatial/attribute query in a GDB etc, then return the results to web UI. we don't need any MapService or related resources in this case, but since SOE currently can only be enabled in a MapService setting, we so created one with some test data.
this SOE is not for site-wise, but for some specific applications, such as the 'fake' map service we have to create in order to use this SOE. although each MapService can enable it, there is no interaction or communication between this SOE and the map service. we just want to call RESTful methods in SOE.
so I think manualy deployment is not a problem for this case. I just need to know where is the stable path to put a config file. also this path should be straight-forward if user wants to re-deploy this SOE, say, they re-installed AGS etc. such as where to get the path of deployed SOE file on a GIS server machine at runtime? for now, I can find the path of assembly but it doesn't look easy to find for the client...
but your suggestion is very helpful. thanks!