For best practices you're probably better served by looking at standards and guidelines specific for embedded systems. For example MISRA C. There is also the JPL C Coding Standards, which are based on MISRA and are freely available.
They tend to warp the structure of your software and prevent usage of many useful language features.
If you're not doing safety work, the Linux kernel is a great example of 'nice' modern C.