I want to relate my own experience and hopefully that will allay concerns of many folks asking similar questions here. My photos got rejected a grand total of 3 times (right !) and I am quite confident that each one of them was well within the photo specification.
Attempt 1 : VAC (India)
Attempt 2 : GKVale (India)
Attempt 3 : Staples (Canada)
Attempt 4 : Staples (Canada)
In all but last rejection, I got a generic reply and this is because (as I learned from CIC call center) all the photos submitted for PR are scanned in an automated system and if the system deems photo to be unfit, it will trigger a generic reply with photo specifications mail. As a result, there is no clue on what the reason for rejection is and there is no human intervention possible.
Here is what I learned in this process:
1. Dont sweat, dont panic: The system is buggy but atleast it is not held against you as you get to re-send your photo in 30 days timeframe. Most domestic/international mails reach well within that. Just use the cheapest possible option to send in your photos along with photo specification letter. At the same time when applying for PR, remember to accomodate this uncertainty in your plans. Be prepared to apply for PRTD if your travel window is too close.
2. System is not perfect : All of my photos were taken in professional setting and photos of family members from same studio got approved while mine got rejected. I daresay that some of the photos that got approved in first try actually did not conform to standard as much as all of my photos did. As a result, dont fret over what you are doing wrong, just trust the studio on what to do/not.
3. Look for guarantees : go with studios/stores that provide free guarantee. If you are in Canada, Staples provides this guarantee (they retake photo if you show them rejection letter and receipt of old photo) and infact I had to make use of it in my fourth attempt. The good thing in this is atleast you are not wasting your money on prints each time.
4. Get a head start using emails from CIC : an email is triggered 3-5 days before snail mail reaches the address you provided in your PR application. Look out for emails to get a head start. From my calculation, CIC sends out an approval/rejection mail within 1-2 business days after they receive your photos.
5. Remember to fill up back of your photo : remember to provide on back of your photo, stamp/details of studio/applicant. Details will be in letter from CIC.