That's great and you might like my only guideline to date mentioned in an earlier post.
Conceptually the fields are ordered in a struct by some ranking. Frequency of use perhaps but it is use case specific.
That said, my smaller objects are viewed as being composed of 64 byte alignment segments. Within any segment having multiple fields they are reordered by descending size for optimal padding.
There is no need to order the entire struct by descending size as I saw suggested here and it is a bad strategy.
LINK: