Yes, the 6502 NMOS version is pretty limited. I remember hand coding hex programs in my youth and always struggled with code insertion or major changes. If I had known the concept of relocatable code at that time, programs would have looked differently.
Your suggestion to improve the efficiency by using a high byte offset is a good solution for some controlled program loader situations.
I didn't want any restriction for the user, and I think it is worth spending a few more bytes for that freedom.
Using as few ZP memory locations as possible is always my goal, just to avoid conflicts with other software and or the own Basic/ System software. But yes, I agree, don't be afraid to use them.