"You two better change into robes" is colloquial speech. People say this, but it is not correct, strictly speaking. The correct form is "You two had better change into robes."
In fact, in spoken English, you can barely hear the difference between the two forms. In natural conversation, the 'h' would be inaudible and the rest of the word would be weakened to schwa sound - something like "You two 'ud better change into robes". In speech, it's not uncommon to drop the 'ud' sound.
In written English, you can miss out the 'had' if you want to indicate casual speech, as JK Rowling has done. If I remember rightly, she often has Ron Weasley use a more casual style of speech than either Harry or Hermione, in order to indicate his more modest social background. In other written contexts, you should always use the correct form.