We use the default BIP32 wallet layout, mentioned in BIP43 as purpose "0". We were thinking of of having 4 chains below the "account" level, the original 0 and 1 for receive and change addresses, and then 0x40000000 and 0x40000001 for P2WPKH-in-P2SH versions of receive and change addresses.
I like the idea of specifying the type of address as a bit field flag. 0x80000000 is already used to specify hardened derivation, so 0x40000000 would be the next available to specify witness addresses. This is compatible with existing accounts and wallet layouts.
As Daniel mentioned, the downside is that trying to recover on non-segwit software will miss segwit receives, however it does avoid the problem of having to check multiple address types for each key.