Hey @Nikon,
If I can give you some advice. I had the same situation about 2-3 years ago, and I've been thinking about how to do automatization in creating layouts. And, I figure it out the best way (for my purpose) is to make differents "dwg" with appropriate size of viewports with accompanying "dwt" files (where are you going to have a "block" section with the name of company, number of project, name of the project, etc.).
The first one is to make a different sizes of desired viewports. This one from picture 1 is for the 297x420 cm paper size.
The second one is to make a "dwt" files where are you going to put your viewport inside the layout. The picture 2 show how it looks layout for the paper size 297x420 cm.
The third one is coding (this is the first time when I created something using autolisp, the first program). It will look like this (this is the part from the code):
(while (< i len)
(setq base nil)
(setq xy nil)
(setq obj (ssname ss i))
(setq data1 (entget (ssname ss i)))
(setq blockname (cdr (assoc 2 data1)))
(cond
((= blockname L1)
(setq data2 (entget (entnext (cdr (assoc -1 data1)))))
(setq data3 (entget (entnext (cdr (assoc -1 data2)))))
(setq data4 (entget (entnext(cdr (assoc -1 data3)))))
(setq base (cdr (assoc 11 data3)))
(setq xy (cdr (assoc 1 data3)))
(setq no (1+ i))
(setq data4 (subst (cons 1 (itoa no)) (assoc 1 data4) data4))
(entmod data4)
(setq nno (strcat v1 "." v2 "." (itoa no)))
(setq path (findfile ".\\Situacioni plan saobracajne signalizacije_297x420.dwt"))
(command "layout" "t" path "1")
(command "layout" "s" "1")
(command "layout" "r" "" nno)
(command "mspace" "ucs" "ob" obj "plan" "c" "zoom" "w" base xy "pspace")
)
...................
I hope I gave you some idea, it is simillar as @BIGAL proposal.
Best regards.