First of all, there is no reason to use the jclouds-plugin packaging. We were not depending on the Jenkins plugin, which would have allowed us to share library classes—the plugin also contains all kinds of other features we do not want. And it still has no release of jclouds 2.1.0, which we may as well use.
So then the two major issues are Guice and Guava. Guice actually seems to not be a problem: as of JCLOUDS-962, while jclouds builds against Guice 3, it deliberately supports use of Guice 4 at runtime. We do need to specify a compatible version of guice-assistedinject.
Guava is nastier. There is a hard dependency on Guava 12 (at least) from some parts of jclouds, so we cannot pick up the 11 that Jenkins core provides. Therefore we must use plugin-first class loading or maskClasses and bundle Guava, preferably the version from jclouds.