For some (most?) of those functions you can disable on _ready
func _ready() -> void:
var in_game: bool = not Engine.is_editor_hint()
set_process(in_game)
set_process_unhandled_input(in_game)
set_physics_process(in_game)
if not in_game:
return
# normal ready etc...
I get that though, it certainly adds complexity so tools scripts aught to be worth it.
This plugin “Hoist” might help, I’ve kept my eye on it, but I usually benefit enough from making tool scripts or dive into making plugins instead.