Instead of goal difference or H2H you could add a final game. The final round between Barca - Atletico in 14/15 ended an unfortunatly trophyless season, but the way one game between 1 vs 2 could decide the race was pretty cool, I think. The problem with goal difference is that some clubs have nothing to play for with 4-5 rounds to go. I think an extra game would give, not only the right winner, but also a fantastic final.
A new rule I would love in the champions league especially. It could be used in other big games too, but the knockout-stage of the champions league has the most problems with this. When a team got the result they need/want it is easy to predict the last 10 minutes of a knockout-game. 5 min. of faking injuries, 5 min of executing a goal kick and 3 min. of subtituion. This ruins a lot for me. I would therefore wish that instead of stoppage time, the ref would simply stop the time when the players were down. This rule should start at 75-80 min. So if the time ticker is on 81:20 and a defender of the winning team is suddenly lying down for 1-2 min, the ref would have to stop the timer, and start it again when the ball is rolling. This would prevent players from trying to win a lot of valuable time. They do this in handball (and basket perhaps?), and it is wonderful to watch a sport without "dolphins". Last weekend we saw Man City winning a lot of time by keep shooting the ball into a United player. This was actually impressive and the kept the flow in the game.