Script the triggers then you can run the scripts against the new tables. Actually, you also need to drop the old tables and rename the new ones with the old name to keep from breaking the user interface and all the stored procedures. But don't do this until you are sure the tables converted correctly. In fact if you really feel you must do this (and I believe it is a totally unnecessary exercise), don't do it without running a complete backup first!
I am actually more concerned about the 500 columns part than the fact they aren't in order. While SQL server will bviously take that number of columns, unless they are very small in length (or none are of a variable size), you could have a problem with people trying to add records that are bigger than the maximum size a record can be. From Books Online on this subject:
SQL Server can have as many as two billion tables per database and 1,024 columns per table. The number of rows and total size of the table are limited only by the available storage. The maximum number of bytes per row is 8,060. If you create tables with varchar, nvarchar, or varbinary columns in which the total defined width exceeds 8,060 bytes, the table is created, but a warning message appears. Trying to insert more than 8,060 bytes into such a row or to update a row so that its total row size exceeds 8,060 produces an error message and the statement fails.