I'm a bit puzzled as to (a) the motivation for this, and (b) the benefit.
If you're trying to save polygons, you'd get a LOT more bang for your buck (a) not using subdivision (e.g. using a simple bezier + lathe, or (b) carefully deleting unneeded rings in places where you're subdividing rings of flat lines (i.e. between the bevels).
The former is going to give you dynamic control over the mesh weight, the latter is going to produce a less weird topology.
PS. Oh, I see you are going for less subdivision for the smaller cylindrical parts, but that actually doesn't make much sense. You want the level of mesh detail to reflect the angular change in adjacent polygons, which you get for free. The extra work simply makes the thinner cylinders more prone to artifacts.