Is there a way to detect Value.Changed in a script before it happens like "Changing"

You should anticipate the thread where it actually starts changing the value and not using the Changed event(which anticipates it after the change).