There's an inherent tradeoff here in flexibility vs ease-of-use. Every team scouts slightly differently, prioritizes data differently, and utilizes that data differently. If you want to build an application that multiple teams use, it has to be flexible enough to support the differences. However, the more flexible the app is, the more configuration time it adds on the user end, and (generally) the more generic the UI has to be.
In my opinion, most successful app-based scouting programs are developed and maintained by teams for internal use, and highly customized towards that team's scouting process.
I wrote a working back-end for an Android scouting app (UI exists but is terrible right now) similar to what your goals are. It currently stores data on a local SQL database and synchronizes through NFC. There's a possibility that I'll attempt to do an iOS port this summer, but that's still TBD.
https://github.com/csse483/Scoutr