Your algorithm had a bit of a typo--you want to subtract (resp. add) to calculate the odd and even parts of a function.
If you don't have a nearly symmetric span of x values, you may need to do extrapolation to obtain one, which may be difficult.
I brought up Fourier analysis not as a means to replace the decomposition described in the blog, but to connect it. I think it's neat that Fourier transformations can be viewed as a parity decomposition.