> after={\blank[0em]\blank[disable]}]
Yes it also works, thank you Thangalin. So here is the final solution (I have added the 'nowhite' keyword in the second blank to kill whitespaces when they are active) to get real empty heads (sections here) in the document:
\setupwhitespace[line]
\setuphead
[section]
[placehead=empty,
page=yes,
after={\blank[none]\blank[nowhite, disable]}]
\setuphead
[subsection]
[placehead=yes,
before={\blank[line]},
after={\blank[line]}]
\setupheadertexts[section]
\showframe
\starttext
\completecontent
\dorecurse{2}
{\section{My section}
\dorecurse{2}
{\subsection{My subsection}
\input knuth}}
\stoptext