With 16 teams there are 15 possible opponents, so what you want is a square schedule with 15 rounds and 15 events, and each team exactly once in each round and once in each column. Here's a schedule you could use with the teams labelled A to P:
(P A) (---) (H K) (---) (---) (B C) (---) (I O) (---) (E M) (---) (J N) (G L) (---) (D F)
(E G) (P B) (---) (I L) (---) (---) (C D) (---) (J A) (---) (F N) (---) (K O) (H M) (---)
(---) (F H) (P C) (---) (J M) (---) (---) (D E) (---) (K B) (---) (G O) (---) (L A) (I N)
(J O) (---) (G I) (P D) (---) (K N) (---) (---) (E F) (---) (L C) (---) (H A) (---) (M B)
(N C) (K A) (---) (H J) (P E) (---) (L O) (---) (---) (F G) (---) (M D) (---) (I B) (---)
(---) (O D) (L B) (---) (I K) (P F) (---) (M A) (---) (---) (G H) (---) (N E) (---) (J C)
(K D) (---) (A E) (M C) (---) (J L) (P G) (---) (N B) (---) (---) (H I) (---) (O F) (---)
(---) (L E) (---) (B F) (N D) (---) (K M) (P H) (---) (O C) (---) (---) (I J) (---) (A G)
(B H) (---) (M F) (---) (C G) (O E) (---) (L N) (P I) (---) (A D) (---) (---) (J K) (---)
(---) (C I) (---) (N G) (---) (D H) (A F) (---) (M O) (P J) (---) (B E) (---) (---) (K L)
(L M) (---) (D J) (---) (O H) (---) (E I) (B G) (---) (N A) (P K) (---) (C F) (---) (---)
(---) (M N) (---) (E K) (---) (A I) (---) (F J) (C H) (---) (O B) (P L) (---) (D G) (---)
(---) (---) (N O) (---) (F L) (---) (B J) (---) (G K) (D I) (---) (A C) (P M) (---) (E H)
(F I) (---) (---) (O A) (---) (G M) (---) (C K) (---) (H L) (E J) (---) (B D) (P N) (---)
(---) (G J) (---) (---) (A B) (---) (H N) (---) (D L) (---) (I M) (F K) (---) (C E) (P O)
and then assign the rows to rounds and the columns to events. There is not a solution for an odd number of teams, and about the best thing you could do for 15 teams would be to delete the games above on the diagonal (these are all the ones involving team P). Then every team would have one event they do not play, and one round with a bye.