Is there a way to do this on the root device?
The simplest solution is the one you rejected from the comment: remove the stock launcher and make your only launcher.
This is an ICS-based device, so addPreferredActivity does not seem to work because I cannot get android.permission.SET_PREFERRED_APPLICATIONS permission even if the device is rooted.
The root itself has nothing to do with permissions. In this case SET_PREFERRED_APPLICATIONS, it is a permission at the signature level, which means that your application must be signed using the same signature key as the firmware, which is impossible if you do not flip your own modded ROM.
Android, addPreferredActivity() /data/system/packages.xml, <preferred-activities>. , , , .