Rules can only take you so far. When something's really bugging you (like the above examples), and you feel perfectly comfortable with the existing rules in general, you should go with your gut and pick the one that sounds right to you. If nothing sounds right, work around it. There's an ongoing debate (both sides will tell you there is no debate, it's all been resolved, and the other side is just a bunch of morons) whether the singular or plural form is correct in the following:
A group of schoolgirls was smoking cigarettes on the corner.
A group of schoolgirls were smoking cigarettes on the corner.
Logically, the first one should be the correct one. Illogically, the second one sounds more natural.
A quick note about being comfortable with the existing rules, going with your gut, and some things sounding more natural than others: it's a question of being ready (or not).
If your gut tells you that "You shoulda went" is correct, you're not ready. If your gut tells you it should be "You shoulda gone," you probably are. If you use, in a humorous context, such expressions as "Your forgiveness I implore," you're definitely are.