I am renaming an application to a more suitable name. In doing so, I want to ensure that South properly migrates the database (renames database tables and changes reference
I wouldn't mess with the app names. You refer to the app names literally everywhere. URL confs, settings, other apps, templates etc.
The way django is designed, correspondingly south, assumes there is no need to change the app names. - name your projects what you want. You don't refer to it anywhere. Changing app names is cumbersome. Your undesirable solution is the best solution I see, if you really want to rename your app.
For what it is worth, you can always use the python import as to import the app in a different name, if you so desire.