They play seven-inning doubleheaders in the minors, and they work OK. You have to start strategizing to win sooner.
I'm not a fan of the free runner. This isn't Little League. You want runners, earn them. But then, I don't mind extra innings. I don't care how long the game is; I care about the pace.
There is such a thing as too much offense. Nobody seems to believe that. But if every game were 12-11, you'd be wanting a good, old-fashioned pitcher's duel. The people who run MLB seem to think that fans just want homers and strikeouts. No, I want to see baseball.
In 2019, American League teams (with the DH) averaged 4.88 runs per game. National League teams (with no DH) averaged 4.78 runs per game. The numbers in batting average and slugging also favored the AL, but by similarly minuscule margins. We're doing this for 1/10 of a run per team per game -- and in 2020, with the universal DH, scoring was DOWN. Even analytics geeks like Brian Kenny admit that while the modern ways may make the game more efficient, "efficiency is boring." They've managed to make the game less interesting. No wonder the fools at MLB claim you can't market the game.
Start games earlier. The Super Bowl kicks off around 6-6:30. Kids can watch the whole thing. Only play walk-up music the first time at bat. Limit the number of times a batter can step out; no more stepping out each pitch to y fiddle with your batting gloves. When they do it, call a strike. But the most effective time saver (killing dead time) would be the pitch clock. I hate the idea, but it's working in the minors.
The average time between pitches is 23 seconds. If you imposed a 20-second clock, you save three seconds per pitch. The average big-league game (nine innings) contains around 300 pitches. Now 3X300=900, so we're talking 900 seconds. .900/60=15. There is 15 minutes of dead time gone, in small increments nobody will notice. Suddenly, a three-hour game is 2:45.