Боюсь, что в большой кодовой базе велосипеды на макросах доставят куда больше неудобств и проблем, чем подключение одной header-only библиотеки. В конце концов, воспользуйтесь пакетным менеджером
каким таким пакетным менеджером? apt, yum? а на винде как?
Ну спорно. Оно aliasing если используется для type punning. А если надо просто byte stream какой-нибудь, сериализация, сетевые всякие пакеты. В этом случае нужен как раз unaliased byte. А такого в c++ нет.