I have to do something very similar for a Android application every month...except I have to create several dozen very large TPK files. It started to become unmanageable time wise.
What I ended up do is creating a straight up ArcGIS Server Map cache for the area that I need the TPK for. This way, you can crank it up to use every last bit of CPU you have available (I never could get the Parallel Processing Factor var to work right in py). Then use the Export Map Server Cache tool to dump it out to a TPK.
Scripted all out, this ended up being on the magnitude of 50x faster than just creating a TPK file the normal way. Of course the caveat is that you need a ArcGIS Server available. But, all you would need is a EDN level license to do it. Hope that helps.