I agree the case is a problem, but I don't think it can be fixed at the spec level. The spec indicates that the topic URL must be exactly the self url... In all honesty, I think Feedburner is being an jerk for not handling these things correctly.
How can the hub check that it *will* get a ping? What we do at Superfeedr (and what I think the Google Hub should probably do) is that we check when somebody subscribes that the topic url matches the self link. If it does not, then we refuse the subscription. If it does, it does not mean that the publisher will ping us, but I don't think there is a way to check that.
The protocol cannot say what should happen when any involved party does not respect it. It can only be 'positive' and specify what happens when certain conditions are matched. To take an extreme example, the protocol cannot state what should happen when you send a PUT request to a hub, because that's outside the spec. Using that rule, the protocol cannot specify what the hub should do when the subscriber does not behave by the protocol.
That being said, I'm convinced that a 'sensible' implementation should be as helpful as possible by providing context on obvious errors: