Of course the tricky thing is that not all children produce positive externalities, some have massively negative externalities and a naive subsidy might encourage the wrong kind of reproduction ...
Anyways, if you don't want any subsidies, one policy change is to eliminate general social security and simply have each retiree get the social security money paid only from their own children. Social security is not a savings plan or insurance, what it actually is is a socialized version of the current generation of children paying for their parents retirement. The non-socialized version is just the parents getting money of the kids that they raised themselves, and if you did not put in the work of raising kids, you don't get social security.