The answer is, simply: ED25519 if you're using modern services that support it.
or RSA (4096 or at least 2048 bits) for services that cannot handle ED25519 (including AWS -- yes, still, even in 2020.)
So you should probably generate both to cover most possible scenarios:
ssh -t ed25519 # for most purposes (not AWS)
ssh -t rsa -b 4096 # for when you're not using something like Userify