Here two alternative rules we play with in my group.
1. When playing dark cards, the cost is paid from the target detective. I think this simple change captures the whole spirit of the game without adding more complexity.It does force players to make some tough choises on if they allow their character to dark shift or play it safe. Good contrast the the original rules where the track is mostly just a tracker you need to manage in order to optimize how many cards you can easily play. Now you want to keep your detective light shifted in order to make it more difficult for dark cards to be played on him. Of course you can still discard cards to reduce cost.
2. Second rule I added because many like and expect a bit of deduction in the game. Here no guilty cards are dealt out, each player still get an innocent card. The remaining innocent card is placed face down by the murder sheet and represent the real murdere. When players "get a jump on the case" they may look at the guilty pile and select one card in secret who they belive is the murderer. They may revisit later and swap it for another if they like. All victory points still remain the same, so yes its still a bit of a frame job, but if you end the game with the real murderer as your guilty hunch you get +2 VP, and if you manage to convict him you get another +5. This variant allows for a lot of deduction and bluffing. Try it out. Here we also rule that if it turns out that the real murderer was killed, then he just managed to stage his own death and get away.
When we created these variants it was important that the changes would not conflict with cards within the game.