As has been pointed out, this is an NBA CBA issue. They (players union/league officials) have to sort this out. For the NCAA to stick their nose in it is moronic. They could fuck up an anvil with a plastic hammer. Of course this is why they will proceed to do so.
So make it a one-time only deal. A player can declare, then elect to return to school after seeing the draft results one time. If they declare a second time, they're gone. Still a circus, but a little less of one.