You are correct that one way to go about your business is executing non-disclosure agreements in addition to consultancy / Independent developer agreements with the app developers. However, the cost you would incur in enforcing these restrictions may be cumbersome and costly. In addition to protection through agreements, and depending on the nature of information that is necessary to be provided to the developers you could consider, for example, dividing the tasks among different developers (as modules, if possible) to avoid a single developer understanding the entire purpose or import of the app; or encode the information in a manner that it is less susceptible to copying. Again, there are other ways to ensure protecting your business ideas from unauthorised use, in addition to the necessary contractual protections.
Regarding your specific points, the NDA (as mentioned above) would definitely be an important document to execute. A non-compete would prevent the app-developer from engaging in a similar business for a period of time, so it is an appropriate restriction, although there may be push-back from the developer if the scope of the non-compete is broad. Non-solicit would not be the most important restriction since it restricts one party from poaching the employees or agents of the other. Given that you would be dealing with independent developers, this concern is unlikely to be on you, but nevertheless, can also be included for abundant caution. The footer on the document would not be significant in proving anything, but does act as a deterrent.
Hope the above clarifies your doubts. Do contact me in case you require a more guided and specific response.