Here's a solution that doesn't mess around with the subsection numbering, but just patches beamer so that "subsections numbered 0" show their slide entries. Frames immediately below \sections without \subsections get treated as subsection 0 and highlighted in a different group to any actual later \subsections. Therefore, subsections are not needed to get frames to show corresponding the navigation circles, but it doesn't prevent (or rather, obfuscate) subsection use.
Beamer's \slideentry has a test that checks if the current subsection number exceeds zero before it agrees to show the navigation circle; I have just patched that test by replacing it with something that's always true (but still in the if conditional form so it shouldn't break anything).
\usepackage{etoolbox}
\makeatletter
\patchcmd{\slideentry}{\ifnum#2>0}{\ifnum2>0}{}{\@error{unable to patch}}% replace the subsection number test with a test that always returns true
\makeatother
Note that it may also be necessary to do the same for \fakeslideentry (if using multiple parts?). If not using the compress option, it may also be necessary to \advance\beamer@ypos by1\relax before the \fi in the \ifbeamer@compress else clause. However, the above alone "works" in the following example:
\documentclass{beamer}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\slideentry}{\ifnum#2>0}{\ifnum2>0}{}{\@error{unable to patch}}% replace the subsection number test with a test that always returns true
\makeatother
\usetheme{Frankfurt}
% to illustrate the subsection numbering
\setbeamertemplate{subsection in toc}[subsections numbered]
\begin{document}
\frame{\tableofcontents}
\section{Test I}
\frame{one}
\frame{two}
\subsection{A}
\frame{three}
\frame{four}
\subsection{B}
\frame{five}
\section{Test II}
\frame{six}
\subsection{C}
\frame{seven}
\section{Test III}
\frame{eight}
\end{document}
(I realise that this may no longer be useful to the original poster, but it might help someone. This is what I wanted to do but found only this question and its original answers.)
compressoption which does what you want. – Bart Michels Mar 18 '19 at 11:00