I competed in two Jiu-Jitsu tournaments that had same day weigh ins. Both were a disaster. It really held things up and what usually ends at 9:00 pm dragged on until after 11:00 pm. Also, those that didn't make weight couldn't be rescheduled to another weight class because it's already been set. They wanted their entrance fee back because there was no clause that they forfeit their fee if they don't make weight. Also, there were tons of cheating especially by Brasilians favoring other Brasilian competitors. There was no overseeing authority.
And it wasn't any safer for the competitors because they would actually be competing in a dehydrated and starved state since they had no time to carb back up. The body count being dragged out of there easily quadrupled.
With pro shows like the UFC I believe there's money to be made because they charge to be present at the weigh in, which is now ceremonial. Also, imagine if someone doesn't make weight on the night of the show? Really throws a monkey wrench in the whole thing and no time to figue out the best alternative: cancel? fine? let it go anyway.
And I still don't think it will be safer for the fighters as they will just be more likely to fight physically compromised.
No matter what the rules, as long as it applies to everybody equally then it's fair. It's very unlikely to change. Fighters are going to fight at a weight they think they can win. T.J. Dillashaw is cutting to 124 lbs when he was almost 150 lbs when he fought Cody.