Xilinx also recommends "create_generated_clock".
In your design, your clock and data pass through substantially different paths. Clock goes to the output directly. Data has a flip-flop delay (perhaps 0.5 ns). Also, data and clock are likely to have different routing which would further delay data relative to the clock. This might be Ok at 50 MHz, but it'll cause problems at higher speeds.
To avoid such problem, a technique called "clock forwarding" is commonly used, which puts a flip-flop on the path of the clock, and also makes sure that both clock and data are launched as close to package pins as possible. Xilinx has an ODDR primitive, which is used for this purpose. I guess Altera must have something similar.
As the name suggests, ODDR outputs a DDR (double data rate) signal. Aside of the clock, ODDR has two inputs. One input (D1) accepts a signal which is clocked out at the rising edge of the clock. Other input (D2) accepts a signal which is clocked out at the falling edge of the clock.
To forward your clock out, you instantiate an ODDR and feed it with your clock. Then you feed D1 with '1' and D2 with '0'. This creates a clock at the output of the ODDR which goes strait to the package pin. In your case you need an inverted clock (shifted by 180), so you can do the opposite - feed D1 with '0' and D2 with '1' - this will invert the clock automatically. This way you don't need a PLL.
To make sure the data delay is the same as the clock delay, you can also instantiate ODDR for each of your data lines. Since you don't need DDR, you simply feed your data to both D1 and D2 of the ODDR.
Once you've done this, you minimized your skew as much as you possibly can. All is left is the clock skew and the skew through output buffers, but you cannot eliminate these. At this stage, you realize that it doesn't make much sense to do the timing analysis because the tools cannot either improve or worsen the timing. You may still do it to see if the clock skew is small enough, perhaps change your clocking scheme, but it'll make no difference at 50 MHz. If you do the timing analysis, keep in mind that there may be difference in lengths of your PCB traces, which you may want to take into account as well.