Hi.
I am Urko.
It is my first contribution to the community.
I’m not a professional developer but I’ve been scripting for some time and I’ve tried to implement the reverse-catmull clark subdivision based on the link:
http://wscg.zcu.cz/wscg2006/Papers_2006/Full/B89-full.pdf
It is not finnished and it is not perfect yet (I have noticed bad vertex positions in some triangular faces).
Works well with easy shapes and tested with Suzanne too with good results.
For now the script creates a duplicate of the selecte object for non destuctive operation.
You can select an object and run script but I suggest selecting manually a vertex in the subdivided mesh in edit mode that you know will be a unsubdivided vertex too and then execute the script. 
Unsubdivide.py (16.5 KB)