Log Shipping failover when Primary is not accessible
The issues and complications you mention are ones I've wrestled with myself.  Quite a while back, I did my best to script out a solution to help make it easier to fail over and also to fail back.  I would suggest going to codeproject.com and searching for "Streamline Log Shipping Failovers" to look at the quick article I wrote there.  You can download the SQL script and see if it's helpful for your situation.  Essentially, it is a SQL script that you run on the Secondary and it dynamically generates the scripts you need to fail over and later fail back.

I have used it many times in a Production environment to perform DR tests.  I have also used it once in a true Production down situation and it really helps streamline the process.