No real rule. Stress can even shift depending on the case the word is in. It's an admittedly difficult part of learning Russian. You can start recognizing patterns, but it takes some time. At the beginning, you should be certain to always mark where the stress is when you learn a new word. Any decent English-Russian dictionary will mark the stress, and wiktionary / викисловарь can be a great help for following stress in declined and conjugated forms.
большой and declension rules for Russian adjectives.
Adjective endings are so tricky. From a few tables I've seen, hard-stemmed (stem-word ending in a hard consonant) masculine singular adjectives endings are "-ой/-ый" and soft-stemmed endings are "-ий" - except that adjective endings obey the Russian Spelling Rules (containing both hard and soft consonants), which can change -ый to -ий after Ш, Ж, Щ, Ч, Г, К, Х, except that if a stem ends in -ж, -ш, -ч, -щ, the ending can be -ой/-ий, and it makes a difference if the ending is stressed or not. Thus, we get большой, which has a stressed ending. How we get there is a mystery to me.
This makes me think that many Russians might not know how to decline adjectives, which might explain why so many of them have different spellings but seem to sound the same. It seems easier to speak Russian than it is to write it.
Of course, that's also true of English, not to cast stones. Spelling in English is a nightmare for most foreigners.
I think you're onto something. Anecdotally, a friend of mine who grew up in the USSR said they had a writing test at the end of high school where you had to correctly write out a spoken passage of Russian text. Getting full marks was almost unheard of. She said the hardest part was putting commas in the right place since there are strict rules in written Russian that don't necessarily correspond to the rhythm of actual speech.