I am looking at a schematic of the I/O buffers on an FPGA and they have the pull up resistor feeding into a VCC/2 instead of VCC.
After reading about parallel termination resistors.. It seems that most are connected to ground or VCC.
There is a laundry list of signaling standards. Many were designed to handle multiple loads across a backplane. Their "weird" termination requirements such as being pulled to some intermediate voltage are intended to ensure good signal integrity. Your FPGA's user manual should have a list of all of the I/O standards it supports and all of their termination requirements.
That said: for most cases you'll use LVCMOS for single-ended I/O and LVDS for differential, so you don't need to worry about these other termination requirements.
There is also an option to include weak termination however isnt that pointless if there is a pull up?
A "weak termination" isn't really a termination. It's a pull-up or pull-down. It's meant to ensure that an input is always at some valid logic level when the driver is tristated or is not connected. The reason it's called "weak" is that it's a high enough resistance value to be easily overdriven.
But because it's "weak" it's slow. That is, if you disabled the driver, the input would eventually see the pull-up voltage level. This is why, for example, I2C specifies a specific value of pull-up resistor. The 2.2k ohms to 3.3 V goes to that rail much faster than a weak pull-up of some 50k ohms.