You seem to be following the one good suggestion I have.
All methods generally involve generating one or more masks that differentiates between background and foreground (and possibly shadow). Work only on the mask, and don't try to map directly to transparency, when you have the mask right then you can apply it to the original image to extract the colors wanted.
See Removing Background
http://www.imagemagick.org/Usage/channe ... k_creation
Essentially if you can get a copy of the background without the foreground image, you can create a difference (mask) image that will let you remove the background. That is about the best method there is.
Your example images is however made much more difficult be using a plan background that is simlar to the foreground image. That is everything is grey scale. that makes generating your mask much more difficult.
Fuzz factor may be easiest for the first two images. for mask creation.
Your 'candycane' may be able to be masked using a 'chroma key' as yoru foreground does not appear to have any light blue in it. See Photo Handling, Chroma Key
http://www.imagemagick.org/Usage/photos/#chroma_key
One aspect you may also like to consider is 'anti-alising' of the edges. Masks tend to be purely on/off, and sometimes it is better to generate some semi-transparency edge pixels to the result, to give it a smooth outline. Resizing the resulting image is one way to do this. Another is to take the masked image, blur it by say 0x0.7 and overlay the original on the blur, so you only get some extra semi-transparent edges.
One method that I explored is double-masking. generate two masks, one of the area that is definatally internal, and another of the parts that are definitely external, generating a 'zone of semi-transparency' between the two masks, where you can generate anti-aliasing and shadow effects.
http://www.imagemagick.org/Usage/channe ... antialised
This has been scripted into the shell script...
http://www.imagemagick.org/Usage/scripts/bg_removal
Now one MAJOR point. do not be afraid of doing some extra work on difficult masks. Either using a image editor like GIMP, or Photoshop, Or making use of "Morphology" to expand/reduce or just to smooth masks by a few pixels. That is what they are for, and I use them all the time for mask modifications.
http://www.imagemagick.org/Usage/morphology/#basic
http://www.imagemagick.org/Usage/morphology/#kernel
Also don't be afraid of using blur, just make sure you only blur edges and not your 'definite internal' pixels, such as I described above.
The real problem is there is no one size fits all solution. Each image has its own problems and difficulty in generating the background removal mask.