I fiddled.... I have no idea what I am doing. If this breaks your document horribly, you get to keep all the itsy-bitsy pieces for yourself. I accept no responsibility if the code collaborates with your cat to order courier delivery of new tin-openers or dials out for pizza when bored.
Caveat emptor...
The basic problem, I think, is the definition of the code which initiates sections, subsections, subsubsections and paragraphs. The following code 'fixes' the issue for starred and unstarred versions of these commands.
If you customise the formatting of sections, use a non-standard class or otherwise do weird and wonderful things, this is unlikely to work. (It might. But it probably won't.)
Theoretically, it should be possible to redefine e.g. \@section...
etc. directly, but the fixes do not work with, for example, titlesec
.
That said:
\documentclass[a5paper,10pt]{book}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[showframe]{geometry}
\usepackage[bitstream-charter]{mathdesign}
\usepackage[protrusion=true,factor=3000]{microtype}
\makeatletter
\def\@ssect#1#2#3#4#5{% modified from latex.ltx - for starred sections below chapter level
\@tempskipa #3\relax
\ifdim \@tempskipa>\z@
\begingroup
#4{%
\interlinepenalty \@M \noindent #5\@@par}%
\endgroup
\else
\def\@svsechd{#4{%
\cfr@microfix@sec{#1}#5}}%
\fi
\@xsect{#3}}
\def\@sect#1#2#3#4#5#6[#7]#8{% modified from latex.ltx - for unstarred sections below chapter level
\ifnum #2>\c@secnumdepth
\let\@svsec\@empty
\else
\refstepcounter{#1}%
\protected@edef\@svsec{\@seccntformat{#1}\relax}%
\fi
\@tempskipa #5\relax
\ifdim \@tempskipa>\z@
\begingroup
#6{%
\@hangfrom{\cfr@microfix@sec{#3}\@svsec}%
\interlinepenalty \@M #8\@@par}%
\endgroup
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}%
\else
\def\@svsechd{%
#6{\cfr@microfix@sec{#3}%
\@svsec #8}%
\csname #1mark\endcsname{#7}%
\addcontentsline{toc}{#1}{%
\ifnum #2>\c@secnumdepth \else
\protect\numberline{\csname the#1\endcsname}%
\fi
#7}}%
\fi
\@xsect{#5}}
\newcommand*\cfr@microfix@sec[1]{%
\ifdim#1=0pt
\noindent
\else
\hskip #1\relax
\fi}
\makeatother
\begin{document}
\chapter{``Charlie}
\chapter*{``Charlie}
\section{Charlie nss}
\noindent {\Large\bfseries 1.1}
\section*{``Charlie ss}
\subsection{Charlie nsss}
\subsection*{``Charlie sss}
\subsubsection{``Charlie nsss}
\subsubsection*{``Charlie ssss}
\paragraph{``Charlie np} paragraph
\paragraph*{``Charlie sp} paragraph
\subparagraph{``Charlie nsp} subparagraph
\subparagraph*{``Charlie ssp} subparagraph
\noindent{\Large\bfseries``Charlie\par}
\noindent ``Charlie
\end{document}
Note that in the above code \chapter*
is included for comparison because this works out-of-the-box, and this is why I switched the class to book
.
Here is the result:

Note that the above solution is general: it affects protrusion generally and not just in the case of double quotes. For example, here are some examples without my preamble modification, so that protrusion is not enabled for sectional divisions:

Here are the same examples with my preamble, so that protrusion is enabled:

Although you may be unlikely to start a section heading with (
or <
, you might well begin with A
or T
or V
or another letter for which protrusion is defined. The effect of protrusion here is more subtle, even when exaggerated as it is here, but that is the nature of micro-typography, of course: the improvements are supposed to be subtle ;).
Here is a comparison for W
without the modification:

and with:

Of course, the effect is exaggerated by the protrusion factor of 3000. Here is a close up of the previous pair of images with the standard protrusion settings in place (for this font, if available). First with the standard sectioning commands:

Second with the redefined versions:

So I think some general solution is required here, even if my attempt turns out to be an unsuitable one ;).
\chapter*
(and\chapter
.\chapter
is defined inbook
notarticle
and the definition is via\secdef
, rather than\@startsection
for\section
etc.