Hi Austin,
Position is a mandatory attribute, so you wouldn't be able to remove it. However, when you first create the points grid, it will be set to a uniform zero value per-leaf by default which will use very minimal memory. If you're converting from an existing data set, you can also explicitly "drop" the values of a position attribute by calling attribute.collapse() which will set it back to a uniform zero value again.
Regarding BuildMoveMapsOp, I'm happy you've been able to create your own custom implementation, but just to note that I've been working on a much improved implementation of point moving that is based around the PointPartitioner to extend functionality to transforming and merging multiple point grids which I hope to share at some point.
Cheers,