Regarding Ethereum you’re right, it’s centralized.
With Bitcoin I run my node and check the incoming transactions with it whenever I make a big money transfer (for outgoing transactions a full node is not really needed, as I don’t care if the network doesn’t accept it as long as my counterparty does).
Running a Bitcoin node is practical (less than a day of running in the background on the first run) if the amount of money is significant.