Quello che stai cercando è il Filesystem Hierarchy Standard. Le risposte a tutte le domande che poni sono trattate nell'FHS.
Per quanto riguarda la scrittura di applicazioni conformi a qualsiasi distribuzione Linux, potresti anche voler esaminare la specifica della directory di base XDG. È più orientato al desktop/utente.
Il Filesystem Hierarchy Standard è probabilmente il miglior riferimento qui (vedi la voce di Wikipedia e il testo completo in vari formati), come raccomandato da LSB. Sebbene nessuna distribuzione che io conosca si adatti completamente allo standard, la maggior parte è simile, quindi è un buon riferimento per decidere la tua "pratica migliore".
Esiste una struttura standard chiamata Filesystems Hierarchy Standard (FHS). Alcuni dist Linux vi aderiscono, altri no.
In termini semplici, quando si tratta di /usr e /var, si può dire che /usr sono file installati dall'utente che non cambiano e /var sono file che cambiano (spool, documentazione formattata). In questo modo puoi, ad esempio, montare /usr su una rete e avere diversi computer che condividono la /usr/ "statica" e avere una /var locale per i file che sono "dinamici".
Citazioni dalla guida per amministratori di sistema Linux:http://tldp.org/LDP/sag/html/dir-tree-overview.html
/usr/lib
File di dati immutabili per programmi e sottosistemi, inclusi alcuni file di configurazione a livello di sito. Il nome lib deriva da library; originariamente le librerie di subroutine di programmazione erano memorizzate in /usr/lib.
/usr/local
Il luogo per il software installato localmente e altri file. Le distribuzioni potrebbero non installare nulla qui. È riservato esclusivamente all'uso dell'amministratore locale. In questo modo può essere assolutamente certo che nessun aggiornamento o upgrade alla sua distribuzione sovrascriverà alcun software aggiuntivo che ha installato localmente.
/var/lib
File che cambiano mentre il sistema funziona normalmente.
Puoi leggere di più su http://tldp.org/LDP/sag/html/dir-tree-overview.html se ci sono altre directory che vuoi conoscere.