What you can do strictly depends on how you defined your interface and what your UI looks like.
If you created your UI in Interface Builder/Storyboard, you might try reviewing all of your controls and views metrics settings. Two major hints in this regard:
chances are that by carefully choosing autoresizing behavior you might get some improvement. For some elements you might need to fix the distance from the screen edge, for others you might need to set flexible width and height: it strongly depends on your UI.
A good technique to control the proper positioning of related UI elements is to group them into a superview that you can then displace or let scale (assigning it flexible width or height) by preserving the relative position of those elements.
If you defined your interface in code, you should review the way you defined all of your positions and sizes, and instead of setting them as absolute values, you could recode them as percentages of the screen size.
I have use both techniques in my apps, both for supporting iPhone4/5 and iPhone/iPad.
In any case, this is some work. It could be a lot of work, or just some work, depending on what is going bad in your app UI.
If you are looking for an automatic way to fix this, try to apply a scaling transform to your main view (say, in your app delegate):
window.rootViewController.view.transform = CGAffineTransformMakeScale(1.0, 0.84);
I am not sure if this will work at all, but in the best case I think this would more appropriately be useful to have a feeling for the fact that no automatic fix is possible.