The real problem is not really Carnival, when you start crowding 4000-5000 people on a cruise ship you are bound to have long lines and or long wait time in the MDR. The staff having to deal with this many people day after day after day has to have a negative effect.
IMHO when most people are boarding a cruise ship they are as happy as can, big broad smiles and their only thought is how much fun and good times are ahead...what they dont see is that the staff of the ship though most smiling when you first board are probaly deep down exausted and really dont want to go back out on another 3,7,10 12,14 day cruise. Though most like cruising (why else would you take a job like that) they problay are thinking about when they can see their family.
I am not trying t5o make excuses for the wait staff...I mean you pay good money and you expect good service, most people dont get that much vacation time and they feel that the time is more valuable then money, so when your expectations are not met, and you feel like you wasted all your vacation time on a cruise that was sub par you feel like you were cheated and lost time you will never make up, which is in fact is what happened and when that does happen you feel devestated.
The only thing you can do to rectify the problem is send a letter to the cruise line and the next time possibly go on a smaller ship with a better ratio of staff to passengers.