How about all of the above? D and E not so much, as I think the catcher should have some idea where the ball might be going.
I did see Sluggers suggestion put into practice this spring on our HS JV team. Dad sitting in the stands behind the plate looking like he had a full body case of poison ivy, DD hurling all nine pitches and the poor catcher getting screamed at by coach because she kept missing the ball. It was a very effective strategy for the other team.
I think the answer really depends on the age, experience level, mentality, and temperament of the players. It also depends on the coach. I have known any number of coaches that were very good at fundamentals but knew almost nothing about pitching.
I do think that at some point a parent needs to stop calling pitches unless they are a coach and that is their responsibility for the team.
I also think the pitcher should, in most cases, rarely shake off pitches. The pitcher and whoever is calling pitches should know each other well and trust each other.
The advantage of calling from the dugout is twofold. As jimginas pointed out it takes pressure off the battery and it allows you to accurately chart each pitcher. Itís hard to tell if a pitch on the outside was a curve that didnít break or a drop that hung, etc., from the dugout if the catcher is calling.
The best of all worlds may be having a catcher and/or pitcher who arenít in the game call pitches with a coach advising. It allows the players in the game to focus on execution while keeping those out of the game involved and learning.