Consider leasing your cars next time around, especially from BMW.

Since the warranties on BMWs are minimum 4 years, you can look into 36/48 month leases and have a new car always under warranty. Put them under the company too and save on the taxes (if possible).