Use StaticArrays. “Naked” tuples are not really meant for linear algebra stuff, but they do provide a good datastructure to build static arrays on top of, that support linear algebra.
You mentioned cross and norm so it seemed that you were interested in more things than a single dot. Your implementation is efficient for this use case though.
FWIW, as a “general” solution you “should” use StaticArrays. It’s a pretty solid package that is backed by the community and excellent developers. I know what you mean by adding dependencies, but really, you’re already depending on huge dependencies by even running Julia, and in this case StaticArrays does exactly what you want. I get what you mean in general, but this is not a random package on some random account. If the philosophy wasn’t to get stuff out of base, I’m pretty sure you’d find this in base.
StaticArrays is also pretty self-contained: it only depends on Compat – which almost every package depends on. So this is not like depending on some huge package with a bajillion transitive dependencies.