Disclaimer: I am very primarily an English speaker, so my own knowledge of grammatical gender, etc. is relatively limited. That said - from what I am aware of, my impression in at least some languages with grammatical gender is that it does not always correlate with actual gender at all for many words, so in many cases a random assignment might be appropriate. Fact-checking myself with quick lookup (just Wikipedia research, so take with a grain of salt) suggests that the question of how to decide the grammatical gender of words in a conlang that does use grammatical gender is another distinct decision you need to make about the language, as it seems how strictly real languages correlate grammatical gender with the semantic meaning of words varies quite a bit.
So you could try to tie the gender of words to their meanings for all words via statistics and so on as you considered (although personally I think after a certain point that would be exhausting ), but some (or even a lot) of random assignments of gender for many words that don't make a semantic relationship immediately obvious would also probably be fine (and from the looks of it that would be similar to a lot of real-world languages with grammatical gender). In short, it doesn't seem like there would be any problem with randomness in assigning gender to words for a conlang - the impression I have at least is that it's normal for grammatical gender to not always have a connection to word meaning. Even within the more directly-related words you listed as examples, plenty of exceptions seem to exist within real languages with grammatical gender, so you're probably pretty free to assign grammatical genders to words freely, as you please, and it probably won't seem out of place next to real languages in that regard at least.
As for writing - distinct languages can certainly share scripts, characters, or parts thereof without being considered the same language or dialects thereof (English and French use the same characters for example (barring a few diacritics), but I'm sure there would be plenty of people upset if one were to call either one just a dialect of the other!). If the grammar is also shared it might get a little bit more nebulous though - but in principle, just using the same script/characters doesn't seem like it would make the conlang so related as to just be a separate dialect (although that is more my opinion than anything). That said, there is a meta-concern of the fact that using an existing script will probably cause readers of the conlang to associate it with the real language that shares the script on some level, and you'd need to consider if the feel of that association is something you want your conlang to have or you'd rather it have a cleaner break with real-world languages.
For verb tenses and time scale, as with the other issues above, a lot of it comes down to what you want the language to be, as it could use a variety of methods of marking time and in different ways. If you really want to get into it, I imagine you could take into account the thought of how the culture this conlang is intended to have arisen in might have influenced it and thus factors like said constructed cultures' perspectives on time (like being an M-time or P-time culture could potentially be a factor in how the language indicates time, although I'm sure such a relationship has vast complexities I'm completely unaware of) could play a factor, depending on how much detail you've envisioned said culture in.
I hope that's helpful - all I've really given you are some perspectives on the same questions, or in some cases more questions, rather than answers I think for many of these questions, you're the only one who can really determine what the 'right' answer is within your conlang, as real languages are so diverse.