You know, I always felt there was a simple solution to that. Keep the same race draw/format, but leave the order of the last four races until after heat 16. Not perfect, obviously, but you could just make sure that it all went down to the last race.
The same problem I have with figure skating; the leading contenders compete in a pre-drawn order. Trouble is, they have to "leave room" after the early skaters, so even if the first skater is the leader, and produces a perfect programme, they cannot be awarded perfect marks. Simple solution - skate in reverse order...