Seed
Os números "aleatórios" são gerados atráves de uma seed, algumas linguagens permite você setar a seed (não é o caso do JavaScript).
Em jogos é normal se utilizar o os-time em um infinite-loop para seed. Então uma sugestão para resultados mais aleatórios mexa na seed a cada interação.
Opa, mesmo que não seja muito relacionado ao post eu ainda quero complementar esse fato aleatório. Não acho que isso impacte nós meros mortais, deve ser mais significantes para criptografia e afins, mas até onde eu sei não é uma boa prática setar a seed mais de uma vez. Eu acho que já vi isso acontecendo em jogo, tenho alguma memória de alguém falar que em stardew valley a seed é setada a cada passo do player, mas não sei de onde veio isso. Mas para computação em geral, boa prática é só setar uma vez mesmo. O motivo é que re-setar a seed vai diminiur a aleatóriadade como um todo, não consigo achar muitas fontes sobre, só umas Pessoas bravas no stackoverflow e uma nota na documentação do cpp. Se você conhecer algum conteudo falado do porque o jogos fazerem desse jeito eu ficaria bem grato, pesquisar sobre seed e jogos no google só me leva a geração do munto e tals