I know it sucks when it happens, but should we really be punishing a player...who had no choice in whether or not they were drafted nor whom they were drafted by? I do think it'd be great if there was some sort of draft compensation for teams this happens to, but I struggle to hold it against the players. Maybe some sort of arbitration to determine what draft pick should be awarded (either from the team like an offer-sheet or just as an added awarded pick). Could you imagine if you had no choice in your employer, but instead got drafted? No choice in what company, where it's located, etc...you just have to go or forgo a paycheck for years or go overseas for less overall money. I think most players do have some sense of loyalty to the team that drafted them, but I could hardly blame a guy who might not care to play in front of 5,000 people, or in a shitty city, or overcrowded/heavily watched city, or a non-traditional market, or poorly run organization, or one with a history of hazing/abuse.
TLDR: It sucks, should be some compensation, don't punish player.