GSync is "GPU drives VBI," whereas FreeSync is "driver speculates VBI." The outcome can be close, but one is superior than the other.
FreeSync uses variable VBI, meaning the driver needs to setup the proper VBI for the next frame, therefore requires the driver to predict the future.
If the app isn't running in constant FPS, then FreeSync will fail when FPS changes, and you will still see stuttering. Also, you need to enable VSYNC, therefore you still have the lag issue that GSync solves by working without VSYNC.
Sure you will have a better experience, but not as good as GSync. With FreeSync you will have software overhead. If you predict conservatively you lose FPS; if you predict aggressively you might end up with more stuttering than plain VSYNC.
GSync solves the problems by holding VBI until the next frame is drawn, therefore there is no speculation, so it works under all circumstances. You simply can't do that in software, because software runs on the computer, not the monitor. You have to have a monitor smart enough to wait for the next GPU command to do the drawing, and that's why NVIDIA has to do it with a separate board. There is no VESA standard for that.