Hairy ball theorem means this is not possible to solve without a 3d volume texture for the decal. It's also not possible for there to be an analytic solution as it's a whole surface problem.
Decals w/ proper decal-meshes
Depending on how you can constrain your decal you might be able to do different things. Options would include geodesic distance or conformal mapping.
I use least-squares conformal mapping for automatic UV chart generation - it would be plenty fast enough for relatively limited decals (say ~100-200 triangles involved).
Geodesic distance is also pretty quick (I've done it over the surface of volumes before) and fairly simple.
Projected / deferred / w|e decals
Depending on what your decal needs to do you might be able to fudge things.
If the decal is something like an area-of-effect blast template then you could fudge cubemap coordinates with texelFetch/Load (GLSL/HLSL respectively) based on surface normal vs the decal projector's orientation. Fairly stupid though since you could just use a volume tex instead and it's also the same as doing a cylindrical projection.
Or use a cylindrical projection in which everything oriented to the cylinder caps receives the decal image as-is while everything inside the projection volume but not appropriately aligned receives a cylindrical projection oriented around the center of your decal - the sum of the distances from the center-line of the cylinder and the bottom of the decal then becomes the virtual-V shift out from the center (or just use two different textures for the projections).
In fewer words that's "map as-is inside when aligned to the caps, map in polar-coordinates when inside and not aligned using V coordinate based on Manhatten distance from ground-zero".
Edit: or if there's a physical process you could just store data in a cube/spherical map and update a global decal map (like a lightmap) by solving whatever your data represents.