Think you have two options for this; tool for tagging or context launching.
Tool for Tagging
You could make a tool, where you ask your user what they want to do, and either tag the objects or organize into sets etc. This does require a bit of development though, but you would be able to ask the user about anything, and for any objects. I personally haven't seen this method in use, although I think maybe pyblish-magenta was making use of something similar.
@marcus and @BigRoy would know better:)
Here you would organize your Pyblish plugins, so there are a set for modeling, rigging, animation etc. When launching Maya, or any host, you would only add the plugins relevant to that task. This way you can assume that the user wants to publish a model, rig or animation, and so you help the user organize the scene.
We current make use of this method for modeling in pyblish-bumpybox.
Hope that gives you some more options to work with.