If the grammar you wish to hold fast to is Standard English, then it is, surely, very difficult to reconcile that with dialects, unless you restrict yourself to pronunciation and lexical differences. Most dialects feature grammatical differences. I'd see the question as whether to accept these or not. In cases like Ebonics, a lot of the differences have been codified and recorded. For example, in northern dialects of British English, it is common to use forms like 'we was''; either this is recognised as an equally valid form, or it is considered an error. I don't see any middle ground other than code switching, or teaching the standard form as 'formal'or 'professional' English.