In answer to my own questions (in case some other wandering sole finds themselves in the same position) I had to do two things to solve the problem:
1) drop the AtmosphereHandlerService annotation, or least the "path" parameter. (It might be possible to operate the annotation using the rest of the parameters; not sure.)
2) add a file called atmosphere.xml to the META-INF folder, which contains something like:
<atmosphere-handlers>
<atmosphere-handler support-session="false"
context-root="/websocket/path/to/processorA"
class-name="com.some.className">
</atmosphere-handler>
<atmosphere-handler support-session="true"
context-root="/websocket/optional/path/to/processorB"
class-name="com.some.other.className">
</atmosphere-handler>
</atmosphere-handlers>
So...the web.xml (or whatever deployment file/architecture your servlet container uses) creates the "overall" context path for ALL handlers, whereas specific routes are bound to each individual Handler using the atmosphere.xml markup. (Something like "/websocket/*" should allow routing to both of those hypothetical Handlers.
There's probably better ways of stating this solution from a technical standpoint, but hopefully that layman's summary points you in the right direction.