I have found a nice estimate for the semiprime counting function
\begin{align} &f_{2}(x):=x \log \left( \log (x)/\log \left( a+a/ \exp\left( (\log (\log (x)-2)-1)^2/2\right) (\log (x)-2) \right) \right)/\log (x)\\ \end{align}
for some constant $a\approx 2.08455$, which I think is more accurate than
\begin{align} &f_{1}(x):=\frac{x \log (\log (x))}{\log (x)}\\ \end{align}

and I believe that a similar approach could provide far sharper approximations for triprimes, etc. Is it worthwile trying to establish ever sharper estimates for semiprime etc. asymptotics?
The relative errors get much worse as you increase the range. At $x=10^{18}$ it gives $9.73\times10^{16}$ vs. $9.71\times10^{16},$ showing that you have a serious overfit in the examples you gave. Still, the estimate is closer than the basic $f_1$. I don't know if that will keep up -- not much seems to be known about the second-order term of the semiprime counting function. But I don't have much faith in the particular form of your approximation; probably you could do just as well with something of the form $$ f_3(x)=\frac{x\log\log x+\beta x}{\log x}. $$
Update: The following year Henri Lifchitz found that there are 86389956293761485464 semiprimes up to $10^{21}.$ Let's see how these methods compare. First, using the value above for $10^{18}$ I estimate $\beta=0.3$ for $f_3$. At $10^{21},$ the simple estimate $f_1$ is too low by 7%; $f_2$, the estimate above, actually becomes worse at 14% too low, and $f_3$ is too high by 0.03%. Now that's a lot more accuracy than I'd expect from my simple estimate, but still I think it shows the value of simplicity: there's no point in using an elaborate method when you're unsure even about its second-order term.