EDIT: Here is the bad aspect of this approach. Maybe it is fixable, but I don't see how yet. From IRC chat discussions:
The whole point of stealth addresses is to make transactions to the same sender unlinkable; that is, these transactions won't contain any information of hints that they were sent to the same address. However, in the this proposed scheme, k is being sent in the clear. So if the sender decides to send multiple transactions to the receiver, he will reuse k multiple times. If that happens, an external observer would be able to, if not outright link the transactions, then at least to attribute higher likelihood that they are linked!
Such a problem could be solved assuming k could be published in encrypted form, but that might increase the cost involved and defeat the point of doing it more efficiently than the naive HD approach of just keeping track of a bunch of keys (cost linear on the number of keys...).
What is needed is some kind of master cryptographic private key that could open various public keys for a low computational cost, if such a thing exists. Someone suggested looking into bilinear groups (I believe it was theking01). Anyways, last I saw, no one knew how to fix this yet, but please let me know if there has been any progress.