You could just normalize it arithmetically:
rnorm2 <- function(n, mean = 0, sd = 1)
{
x <- rnorm(n, mean, sd)
x <- x - mean(x)
x <- x/sd(x)
x
}
set.seed(123)
x <- rnorm2(20)
x
#> [1] -0.72183046 -0.38224997 1.45690865 -0.07311396 -0.01268275 1.61765939
#> [7] 0.32826544 -1.44621692 -0.85175922 -0.60379019 1.11287817 0.22432179
#> [13] 0.26643044 -0.03181062 -0.71706570 1.69152668 0.36623767 -2.16748857
#> [19] 0.57546218 -0.63168204
mean(x)
#> [1] 1.501078e-17
sd(x)
#> [1] 1
A couple of things to note though: this is not better than a normal distribution. You can't take a single random number (since its s.d. can't be normalised to 1), and you will always get the same result for 2 random numbers (only one pair of numbers will sum to 0 with an s.d. of 1). Effectively you have removed a degree of freedom from the sample.
Created on 2020-06-26 by the reprex package (v0.3.0)