Problème : oui, théoriquement. En pratique, tous les processeurs de bureau actuels sont little endian. Ce que tu peux trouver en big endian encore aujourd'hui ce sont de vieux macs (PPC) et certains processeurs ARM (téléphones, tablettes).
Personnellement je ne partirais pas sur cette hypothèse, mais si tu cibles sur un public vraiment restreint, pourquoi pas.
Sinon, non, pas moyen d'éviter de retourner les variables une à une lorsque l'endianness est différent. Si dans ce genre de situation on fait de la sérialisation plutôt qu'une bête copie d'octets bruts, c'est pas pour rien
Mais ce ne sont que deux opérateurs à écrire pour chaque structure, c'est pas non plus comme si tu devais écrire une tonne de code en plus pour chaque envoi / réception de paquet.