I don't really have a big issue with the repair system as it is, but I thought of a great idea today that could solve the issue of how repairing could benefit players and still require crafting, but things could be repairable to 100% by NPCs at the same time. It should be like this:
If you go to an NPC to repair your gear it would simply repair it to 100%. That's it, nothing else.
If a player repairs a piece of your gear it would get a stat bonus which would stay on the gear until it drops to a certain percent, let's say 70% for the sake of argument. That's not too low and not too high I think. This way crafters can get a good amount of gil for doing repairs and players want them to do repairs, but it isn't a necessity. Also the stat bonus should be substantial on end-game gear, so that this system would hold value.