Yeah, if you initialize them to None then for the entire rest of the class you're going to have to account for the possibility that they're None. If it's unavoidable that they might be None, you should type it as such.
If you type them as like str | None then later when you do like return foo[0] it will warn you that you can't do that with None.
The problem is capitalism. Specifically, the consolidation of power in a small number of decision makers.
Break up the big companies. Stop letting them do mergers and acquisitions. You don't even have to do something radical like dismantling capitalism entirely.