I have been to Ocho Rios twice and never encountered that sort of rudeness in the shops at the "Taj Majal" mall. Princess's tours seem to stop there rather than Soni's Plaza, and on one of my visits a friend and I actually walked back to the Taj Majal to do some additional shopping after our tour returned to the ship. I would not hesitate to return there.
According to Princess's Caribbean brochures, all "Western Caribbean" sailings of MV Sea Princess are scheduled to call at Ocho Rios, Jamaica. There is some rearrangement of the itinerary when MV Grand Princess takes over the route, sometimes skipping Jamaica completely and sometimes substituting Montego Bay for Ocho Rios. Additionally, some variations of the itinerary will substitute Costa Maya for Cozumel.