Your question is general and vague. There are many ways to skin this cat, and what is the best way depends on the circumstances.
Many people go with Availability Groups with readable secondaries, as this is also provides a HA/DR solution. I would also say that in comparison to Transactional Replication, they are easier to manage. But the distinct drawback is that the secondary is a 100% of the source database.
Transactional Replication has more moving parts, and as you mention schema changes require more planning. The upside is that the subscriber databases does not have to be 100% copies of the source, but you have more flexibility. For instance, you can have indexes in the subscriber to support reports that are not in the publisher, and thus does not slow down the OLTP business. And for matter you can also have less indexes if you are so inclined.
But while you have some flexibility, TR is probably not what you should go for if you want a completely different schema in the warehouse. As I said, there are many ways to skin the cat.