Using glTexParameteri(target,GL_TEXTURE_MAX_ANISOTROPY_EXT, anisotropy) seems to work fine, but I am not accustomed to using _EXT suffixes in OpenGL 3.3. Is there another way to do this?
No. But what’s wrong with _EXT suffixes?
Now that there is a good core API I avoid extensions.
That kind of thinking presupposes that extensions are a necessary evil, that should be avoided when possible. There is no reason for such presupposition and it does nothing more than limit what you can do.
Anisotropic filtering is subject to IP concerns that prevent it from being adopted into core OpenGL. S3TC is in a similar situation (even though RGTC uses the exact same algorithm, just with 1 and 2 channel images). So until something changes on the IP front, they will remain extensions.