What is the right way to apply an image texture over a glass or plastic material?
To begin with, the add shader node can only be used to add shader/closure outputs (green sockets).



With invalid input, the output of the add shader node will always be 0.
To add values (grey sockets), use a Math node (ShiftA> Converter > Math) instead.



Note that plastics do refract light, so a glass node will probably do just fine for the plastic material (if you were using the transparent node to reduce noise/render time, you might be better off with the fake glass setup).

As for mixing, you need to use a black and white stencil (in this case the alpha channel is perfect, but this will not always be the case) as the mix factor (I multiplied it with the output of this node group to remove the tiled repetitions of the image):



Here is the node setup (click for higher resolution):



And the result: