1.) Poorer working conditions aren't exclusive to Apple's factories, or even Foxconn.
Irrelevant. "Joe may have killed someone, but Frank did too, so don't complain about Joe!" Being inconsistent in your calls for better treatment is much better than never calling for better treatment at all.
2.) Workers are -happy- about their job and working conditions. It's you who feel unhappy about them. Your protesting will NOT IMPROVE THEIR LIVES. You will render them jobless (as you boycott these products and companies pull out of these countries) and effectively kill off their means of living.
The whole point of exerting economic pressure through a boycott is to make it reasonable for a company to change their behavior to get you to buy their products again. Nobody, including people protesting, want to put anyone out of business. Also, and you might be surprised by this, but China is an authoritarian country. There can be dire consequences for protesting, and so you think they are happy, but really, they are forced by the government to be "content" with their lot. We know that conditions at Foxconn's factories have been bad in the past. There's no sense in saying "Oh, but those Chinese, their HAPPY about it!"
3.) Progress takes time. Most Americans have forgotten their past when there were still slaves, often in FAR worse conditions than that of China.
Time is not the cause of anything. Progress takes time, but that's because there's stuff that happens in time, like protests, political pressure, inspections, etc. You think slavery just ceased to exist because we gave it enough time? That shows a tremendous lack of historical understanding.