I'm getting myself into a bit of a knot with btConvexHullShapes; if someone can help me untangle, I'd appreciate it

I'm generating the collision shapes from existing meshes, which may need to be simplified using the btShapeHull utility (I've been passing it a btTriangleMesh), which has been fine, but recently I've changed the world scale, and found that the collision margin is a bit big now and leaves a noticable gap between objects.
So, I'm trying to use the btGeometryUtil functions to reduce the collision surface size to take the margin into account (as described in this thread). This is fine when I use simple objects, but when I have objects with many vertices, it takes quite a long time...
So, OK, I use the btGeometryUtil functions after I've used the btShapeHull - but the btGeometryUtil returns more vertices than it is given sometimes (in one case I got 720 from it). Which means that I'd need to use the btShapeHull again. Which seems a bit convoluted to me...
Am I going about this the right way - or is there something I've missed?!
Many thanks,
Kate