It can be much more difficult if you built a game using a cross platform game engine filled with binary 32bit libraries. If the engine is still around, you might be able to pay for a license for a newer version of the engine, but then you likely also need to deal with the SDK and format changes in the new engine as well as any iOS specific things you have.
Still, if software is your business and this software in particular makes you money, it's really not _that_ expensive to do.
It’s far easier to rewrite old apps today than ever. The tools are far better. The APIs are far better. Asynchronous code is trivial to implement with GCD nowadays.
The real truth is you won’t pay the developer for their time, so they won’t give it to you. It has nothing to do with Apple.
A few hundred megabytes is certainly a small price to pay for users who need those legacy apps to unlock files/documents stored inside or the features the app might to provide to interface with legacy IoT devices or even a car.
The simple solution is for developers to recompile the apps. The developers of any apps that are truly still needed by customers, can easily convince those customers to pay for the update.
Also, they could just continue to pop up an alert saying "this app may slow down your phone" like they already did in iOS10.
Also, I doubt there is much of a performance hit anyways. For example, the current facebook app is 64bit and it is a slouch to start.
* Ensuring your code still works now that CGFloat and ints change size (can easily trip up code, I've seen things fail subtly and then grow into huge errors with combinations of NSInteger and "-1" etc)
* Updating all UI to handle new behavior (yes, just linking with a new compiler will automatically opt-in to new behavior that might totally break interactions and taps)
* If your app is really old, rewrite all UI to not assume a 320px wide screen (this can be brutal)
* Handling new restrictions and requirements such as supporting IPv6-only network (fun if your app is used to configure an IoT device over IPv4 LAN), and Transport Security (fun if your app allows users to connect to random servers around the world)
* Handling new permission models for camera/gps/contacts/photo library/audio library access, including refactoring your code to deal with asynchronous results
* Updating all your graphic assets for @2x and @3x resolution as well as new app icon sizes (hope you still have those .PSD files, and hope your designer wasn't doing pixel-perfect painting for your bitmaps!)
* The original developer must still be in business, still pay the $100/year developer fee, and still have the source code and the talent to fix it.