I don’t understand, with x[…,::2] you already have a non-compact view, you can have either that or make a compact data copy (clone() or contiguous())
If you’re asking about “dual” objects like a masked array, there is no bult-in support for that. And these are not compact too.
If you want to manipulate metadata with resize_ or set_, I’m not sure if you can achieve anything beyond what view() does.