Os gráficos de barras empilhados são geralmente bem compreendidos por não estatísticos, desde que sejam gentilmente introduzidos. É útil dimensioná-las em uma métrica comum (por exemplo, de 0 a 100%), com uma cor gradual para cada categoria, se esses itens forem ordinais (por exemplo, Likert). Prefiro dotchart (gráfico de pontos de Cleveland), quando não há muitos itens e não mais que 3-5 categorias de respostas. Mas é realmente uma questão de clareza visual. Geralmente, forneço%, pois é uma medida padronizada, e apenas reporto% e contagens com gráfico de barras não empilhado. Aqui está um exemplo do que quero dizer:
data(Environment, package="ltm")
Environment[sample(1:nrow(Environment), 10),1] <- NA
na.count <- apply(Environment, 2, function(x) sum(is.na(x)))
tab <- apply(Environment, 2, table)/
apply(apply(Environment, 2, table), 2, sum)*100
dotchart(tab, xlim=c(0,100), xlab="Frequency (%)",
sub=paste("N", nrow(Environment), sep="="))
text(100, c(2,7,12,17,22,27), rev(na.count), cex=.8)
mtext("# NA", side=3, line=0, at=100, cex=.8)

Melhor renderização pode ser alcançada com latticeou ggplot2. Todos os itens têm as mesmas categorias de resposta neste exemplo em particular, mas, em casos mais gerais, podemos esperar categorias diferentes, para que a exibição de todos eles não pareça redundante, como é o caso aqui. Seria possível, no entanto, dar a mesma cor a cada categoria de resposta, a fim de facilitar a leitura.
Mas eu diria que os gráficos de barras empilhados são melhores quando todos os itens têm a mesma categoria de resposta, pois ajudam a apreciar a frequência de uma modalidade de resposta entre os itens:

Também posso pensar em algum tipo de mapa de calor, que é útil se houver muitos itens com categoria de resposta semelhante.

As respostas ausentes (especialmente quando não negligenciáveis ou localizadas em um item / questão específico) devem ser relatadas, idealmente para cada item. Geralmente,% de respostas para cada categoria são calculadas sem NA. Isso é o que geralmente é feito em pesquisas ou em psicometria (falamos de "respostas expressas ou observadas").
PS
Não consigo pensar em mais extravagantes coisas como a imagem mostrada abaixo (o primeiro foi feito à mão, o segundo é de ggplot2, ggfluctuation(as.table(tab))), mas eu não acho que transmitir como informações precisas como dotplot ou barchart desde variações na superfície são difíceis de apreciar.

